MicroCloud's security rests on the snap distribution model. This episode dissects the strict confinement isolating lxd, microceph, and microovn, transactional updates with automatic rollback, and best practices: don't install components outside of snaps and review snap interfaces regularly.

So far we've focused on functionality — clusters, storage, networking. But a cloud serving production demands security. In episode 13 we cover the security foundation of MicroCloud that has been lurking behind every snap install: the snap confinement model and the operational practices that come with it.
An analogy: every MicroCloud component is like an employee working in a locked room (strict confinement). It can only access what's allowed — certain desks, files, and doors. An upgrade is like replacing the room's equipment: if the new equipment is broken, the system automatically restores the old equipment (rollback) without waking anyone up. This is security and resilience fused into the distribution model.
All MicroCloud components — lxd, microceph, microovn, microcloud — run under strict confinement. This means:
snap info lxd | grep confinement
snap info microceph | grep confinement
snap info microovn | grep confinementAll must show strict. With this confinement, compromising one component doesn't automatically grant full host access — the impact is bounded by the sandbox.
Two kernel mechanisms work behind strict confinement:
aa-status | grep snap.lxdAppArmor profiles are applied automatically when a snap runs. This is the layer that makes strict confinement truly "strict", not just a label.
Snap updates components with a transactional model:
snap list lxd microceph microovn microcloud
snap refresh --listAutomatic updates can surprise you in production. Hold refresh to control when upgrades happen:
sudo snap refresh --hold lxd microceph microovn microcloudsudo snap refresh --unhold lxd microceph microovn microcloud
sudo snap refresh lxdImportant
In production, hold auto-refresh on the snaps and perform upgrades during a scheduled maintenance window. All nodes must be updated at the same time so the LXD, Ceph, and OVN versions stay compatible — a cluster with inconsistent versions is prone to join and protocol issues.
If a new version misbehaves after a refresh, return to the previous revision:
sudo snap revert lxdsnap revert moves the snap to the old revision still stored — the same mechanism as automatic rollback, but triggered manually.
MicroCloud is designed as a single snap ecosystem released and tested together. Don't install components outside of snaps — for example Ceph via APT, or LXD from manual binaries — because:
If a feature isn't available in the snap, that's more often intentional (a design decision) than a shortcoming — ask on the forum before bypassing it.
A snap declares the access it needs via interfaces. Regularly review who has access to what:
snap connections lxd
snap connections microceph
snap connections microovnPay attention to important interfaces like firewall-control, network, and storage — make sure there are no strange connections you didn't intend.
sudo snap and the lxd group) to trusted people.snap refresh --hold and a maintenance window.system-files) increase risk if a snap is compromised.Key takeaways:
snap revert for manual rollback.snap connections regularly.In the next episode, we'll cover network isolation & TLS — separating the underlay (storage/OVN) from client access, VLAN/firewall per segment, LXD remotes via lxc remote add with certificates, and encrypted admin access. Network security is the next frontline!