Stop fighting drift and start treating your OS like a container image
By Saket Jain Published Linux/Unix
Stop fighting drift and start treating your OS like a container image
Technical Briefing | 9/18/2026
Most of us spent a decade babysitting configuration management tools like Ansible or Puppet just to ensure our servers did not drift into a chaotic mess. You spend hours writing playbooks, only for someone to manually run a quick fix on a production host at 3 AM. That fix stays forever, and now your infrastructure-as-code repository is a work of fiction. That is where bootc changes the game. Instead of patching a running system, you bake the entire operating system into a container image and swap it out. It feels strange at first, but once you stop modifying live production files, you realize how much technical debt you were carrying.
Why local state is the enemy
When your OS is immutable, the concept of a stateful package installation goes away. If you need a new utility or a security patch, you rebuild the image and redeploy. You do not apt-get or dnf install anything on the live host because that just recreates the problem you were trying to solve. You are moving from a world of snowflakes to a world of predictable artifacts. The real win isn’t just safety; it is the ability to roll back the entire host with a single reboot if a new image turns out to be broken.
bootc switch --transport container-image registry.example.com/os-image:latest
- Your container image registry becomes your source of truth for the entire OS stack
- Rollbacks happen at the bootloader level so you never get stuck with a failed update
- Configuration is kept separate via ignition or cloud-init files rather than baked-in flat files
- The root filesystem is read-only, which forces you to handle logs and state correctly
Dealing with the inevitable friction
You will eventually hit a wall where you need something running that doesn’t fit into the image, like a specific proprietary agent or a temporary debugging tool. Fight the urge to install it globally. Instead, use transient containers or dedicated sidecars that live outside the immutable host filesystem. If you start making exceptions for individual servers, you are just building a manual architecture with extra steps. Keep the host lean and keep your runtime dependencies elsewhere.
Next time you are setting up a fleet of machines, don’t build a gold master image the old way. Point them at a bootc-enabled workflow and let the registry handle the versioning. If you can move your OS management into the same pipeline you use for your microservices, you will stop being a janitor for your own hardware.
