How to Version Docker Images When Updating for Security Patches?

0
22
Asked By CuriousCoder82 On

Hey all! We've just switched our infrastructure to utilize Kubernetes for production and staging environments. We follow trunk-based development and use semantic versioning for our API releases. Now that staging is added, I'm needing to implement `-rc` tags for release candidates. Here's the thing: we currently tag our Docker images with the same version as our app, like 1.1.0. However, if a security update comes in for the OS, I want to update the Docker image without changing the app version. I considered using build metadata, but I've read that doesn't help in indicating a newer image.

For example, if we have 1.1.0+20251020, it won't show up as newer than just 1.1.0 according to ArgoCD's image updater. How do you all handle this type of situation? Do you have to force a new app version every time there's an OS update? It seems inefficient. Should I just switch to a custom tag like 1.0.0-osbuild.20251020 or 1.1.0-rc-osbuild.20251020 and leverage regex in ArgoCD for managing images? I'm curious about the practices other companies adopt for this issue, especially since we have a fully automated CI/CD process. Thanks for any insights!

5 Answers

Answered By ReleaseMaster On

We have a pretty straightforward approach: any change—whether it's in the Dockerfile or tests—results in a git tag that bumps the app's version. In my experience, any modification should be ready for production right away, but I get that with rapid changes, it can become tricky.

Answered By VersioningGuru On

Honestly, you might be overcomplicating things! Automated versioning isn't a hassle and doesn’t have to be intuitive. Whether you decide to add timestamps to your tags or bump the minor version, the main goal is to keep the process smooth.

Answered By ImageInnovator91 On

I suggest focusing on versioning the build artifacts rather than the app itself. Since the container image is your primary artifact, any time it changes (like a different base image), you should increment the version due to the different image hash. This keeps everything tighter and reduces confusion.

Answered By DevOpsDynamo On

In our setup, we treat the Docker image and app versions as closely linked. If we make any changes—be it a security update or new features—it mandates a new version number for the app. We always ensure our versioning reflects any change in the system appropriately.

Answered By TaggingExpert On

In our company, we follow a pattern like ---. The candidate types help us classify our releases and streamline the build process. This way, there's little confusion, as each tag provides extensive detail on the version and environment it was built for.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.