-
Notifications
You must be signed in to change notification settings - Fork 179
Description
Hey,
My team is using a fairly old version of Neo4j (4.2.8 to be precise) and all of us got a bit surprised when we realized that the image that we had been using for almost a year, had recently been updated:
Last pushed 13 days ago by doijanky
Even more surprising was that the newer version (or one that got "updated" sometime in between last summer and 13 days ago) was now shipping Debian 11, which unfortunately requires the host environment to run a more recent version of docker (see: #318). Note: the 4.2.8 version that we have, cached inside our CI/CD environment, runs Debian 10, and we never run into any permissions issue with it.
Now, we are working things out internally to try and switch to a newer version of docker on the host, and to a newer version of neo4j; however, I also wanted to understand more of how are the Neo4j docker images getting updated. From where I stand it seems as if you were treating all the published tags as rolling versions, i.e. like latest, where pulling it today or in one month might give different results; however, I question if this is what the different engineering teams are actually expecting, especially given that quite a big change (like the upgrade of the underlying OS) could be snuck into a tag rewrite and potentially set your whole CI/CD pipeline on fire.
I know we can refer to images by their digest, and that's what we will ultimately end up doing if we realized we could not trust a specific version, like 4.2.8, to stay immutable; however, if version 4.2.8 today is different from version 4.2.8 from one week ago, how could I then (1) be notified about the update, and (2) audit the new version to confirm it's compatible with our deployment environment?
Thanks,
M.