-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add multi-level version tags to docker releases #5551
base: main
Are you sure you want to change the base?
Conversation
Well, we do not really follow semver. So it will not really help your case in any way. Maybe with a very big change which will have huge impact we will switch to v2. Also, i think something like this could also be fixed via the docker bake file, but not sure from the top of my head. |
I first tried implementing this inside the bakefile indeed. However, as part of the tag generation was already performed outside of it and I'm more comfortable with shell scripts it ended up a layer higher in the build process.
Many projects don't actually follow that spec, but as long as some differentiation exists between whatever ends up between the dots additional tags would help bridge the gap between the too loose |
But if we release 1.34.0 tomorrow, you would still need to change it unless you use |
To say, I'm not fully against it. But i also do not want to provide false hope that this will solve anything. Since i think it won't, and maybe even keeps people on older versions actually. |
That's partially making my point for me. With this PR a user would be able to pin their tag to Having the granularity instead of just the 1 options that exist currently provides users with more options to choose for the update strategy they feel most comfortable with.
Using |
And that makes my point clear as well, using your arguments, using |
Also, we do not plan on any major release yet or in the near future as far as i can tell. But if we do, we would definitely try to make it clear, and then But there better way's to fix this then this PR i think. |
Why would
I'm open to any suggestions to get this or anything similar merged. There's always multiple implementations to get the same thing done. But as far as practices go w.r.t. tagging docker images having multiple levels for users to specify what they're comfortable with, it is a helpful and common practice. There's plenty of other articles and discussions on this topic as to why it is a good idea and almost all of the (larger) projects that I have come across already follow this practice. I'm just someone who would like to see it spread to other services that I rely on as much as a password manager. |
I'm not saying it's not allowed. Im saying it basically is the same as latest in regards to Vaultwarden. And thus will not have the desired effect you are hoping on, and still need to change the version number a lot if you use :1.xx |
As I consider Vaultwarden to be a vital part of my selfhosted services I do not like to roll the dice and auto update my Docker containers and sticking to the
latest
label. However, manually updating the container version every time a new patch release is out is too manual.This PR bridges the gap between the two. The rationale is well explained here, but the gist of it is that having the option to pin the docker tag to
major
, ormajor.minor
allows users enable automatic updates up to the level they are comfortable with. I.e. automatically staying secure for security patches, but not automatically updating when a breaking change is introduced.What this PR does:
When a new version is released, e.g.
1.34.5
, and if this tag complies with SemVer formatting, the following tags are also added to the docker images:1
: Major version1.34
: Major.Minor version(In case it does not match the SemVer formatting, nothing is added)