tl;dr: If you run apt-get install
reproducibly, there's no reason to use "golden images".
I've now run into the "how do we manage and update a base operating system" problem at three different roles over the course of many years. At each role, my colleagues and I landed on a reproducible installations using apt
. Fair warning: the rest of this post will be apt
flavored, although I hope that the general lessons will be useful for any operating system.
The most advanced incarnation of this system used Bazel as part of a monorepo to provide automated upgrades for hundreds of individual services. In that incarnation, it was possible to build new container images that remediated a given CVE org-wide in a single commit, which was very useful for me as a security engineer.