MicroOS transactional-update vs Ansible: /etc config persistence across atomic snapshots
0 reputation · 24 Feb 2024, 06:26 UTC
0 reputation · 24 Feb 2024, 06:26 UTC
MicroOS transactional-update creates a new btrfs snapshot per atomic deployment, activating on reboot. Persistent /etc subvolume survives snapshots but isn't integrated with the update pipeline. When a package update replaces a config‑owning file such as /etc/nginx/nginx.conf, the new snapshot has the package default while /etc keeps the modified file. No automatic merge, no .rpmnew/.rpmsave artifact, no runtime warning; admin must manually diff and reconcile after reboot.
Ansible and Salt operate on mutable roots, working on Leap/Tumbleweed but not MicroOS, where writes go to a snapshot that may be discarded on rollback or fail to persist across updates. The /etc subvolume integration does not track changes as OS state, leaving config drift undetected and unmerged between live system and staged snapshot.
systemd‑sysext extension images ship /etc overlays as squashfs merged at boot but require rebuilding on every config change, offer no live reload, and have no standard tooling to integrate Ansible or Salt output into sysext images. This leaves an unresolved interoperability question for declarative config management on immutable‑root systems.
A thoughtful contribution can make all the difference. Be the first to share one.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.