Stream: containers

Topic: βœ” change version scheme base image?


view this post on Zulip Oliver Bertuch (Dec 03 2023 at 10:36):

Today I was thinking about the fresh dependency hell we created for ourselves with the base image requiring rebuilds in some cases.

How about we change from the unstable/stable thing to an independently versioned scheme?

Having a static version of the base image would solve the problem of base images not up to date on people's machines.

We could push merged versions to Docker Hub and PR versions to GHCR, so easy to switch to a preview for fast testing.

We should pin down the Payara version for the images independent from the main app, allowing us to do security updates much faster. We should have a build time script with an acceptance list for app vs image server version, so we detect early when forgetting to update the property.

A scheduled CI script might either only update the latest version with OS updates or we can create a matrix with commit ids to update (monorepo means we need to go to a certain place in commit history to update older versions).

What do y'all think?

view this post on Zulip Philip Durbin πŸš€ (Dec 04 2023 at 14:02):

I think I'm struggling a bit without examples. Ultimately we're talking about tags, right? What would some example tags look like?

view this post on Zulip Oliver Bertuch (Dec 14 2023 at 07:52):

Thx for putting it on the agenda!

view this post on Zulip Philip Durbin πŸš€ (Dec 15 2023 at 14:02):

Sure. The recording is here: https://harvard.zoom.us/rec/share/-e5CHUCBg7STDie4RF7dFx-YHB74pYQewg6hzKUAuNFBTrD_S7UvH0WrlvZ95erw.eVB72Eyc16Y_kcHE

view this post on Zulip Philip Durbin πŸš€ (Dec 15 2023 at 14:02):

See also #containers > tagging images with versions

view this post on Zulip Oliver Bertuch (Apr 10 2024 at 12:50):

With the upgrade to 6.2024.4 should we go for tags on the base image?

view this post on Zulip Oliver Bertuch (Apr 10 2024 at 12:50):

How about we use the Payara version included plus a suffix?

view this post on Zulip Oliver Bertuch (Apr 10 2024 at 12:51):

Like 6.2024.4-base1

view this post on Zulip Oliver Bertuch (Apr 10 2024 at 12:51):

Then we can increment on changes to the base image where no payara update is done

view this post on Zulip Philip Durbin πŸš€ (Apr 10 2024 at 12:54):

Should we talk about it tomorrow?

view this post on Zulip Oliver Bertuch (Apr 10 2024 at 12:56):

Let me try it out and see how it goes so we have something concrete to talk about

view this post on Zulip Oliver Bertuch (Apr 19 2024 at 10:30):

So now I have a workflow with the different versions going... Now I discovered I had some flaws in the image we currently tag as alpha. And the temurin 17-jre tag is probably moving to a new Ubuntu version, but our Dockerfiles are not compatible (yet). Maybe we need a way to override some stuff even for tagged releases when brewing the base image...

view this post on Zulip Philip Durbin πŸš€ (Apr 22 2024 at 10:47):

Yes, good point. Thanks for the investigation and for writing it up in that issue!

view this post on Zulip Philip Durbin πŸš€ (Jul 18 2024 at 14:33):

@Oliver Bertuch just a reminder to please link to the Bitnami example you found

view this post on Zulip Oliver Bertuch (Jul 18 2024 at 14:52):

https://docs.vmware.com/en/VMware-Tanzu-Application-Catalog/services/tutorials/GUID-understand-rolling-tags-containers-index.html

view this post on Zulip Philip Durbin πŸš€ (Jul 18 2024 at 14:57):

"What if you depend on a specific revision of an image? For these scenarios, Bitnami also attaches a static (immutable) tag to each revision. In this example, the 6.4.3-debian-12-r10 tag refers to WordPress 6.4.3 revision 10, and using this tag ensures that users always get the same image every time."

Interesting. Thanks!

view this post on Zulip Oliver Bertuch (Jul 18 2024 at 14:59):

It seems to work for them, so why not inherit their good practice? :smiling_face:

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:29):

Progress! I have files patching in place and already create better tags for the base images for v6.1, 6.2 and 6.3

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:33):

Curious people can take a look at the patch files, or see some action output and see new tags on Docker Hub

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:36):

BTW here's my plan how this could actually work:

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:46):

So for now, I encoded quite a bit of things into the tags... Each tag has a version at the beginning, enabling expressing which feature set is usable. On the other hand, the scripts etc might not need changing when we update Payara or Java version... So I added that as a component in the tag, too.

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:46):

In addition I added the OS flavor. So we can make OS upgrades without changing the other stuff. Or add more flavors, e.g. using Redhat UBI or whatever.

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:47):

And last but not least there is the "rX" suffix (r = revision). These images will never be touched again after they have been created.

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:48):

The revision will be increased every time we rebuild, obviously... When we update the version, it will start at r0 again

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:49):

Version number change = functionality changes. Scripts are changed, software added/removed, etc etc

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:50):

Revision changes = no functionality changes, only updates as minimal as possible

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:52):

I'm no sure yet what I want as a base image tag for the application image. Maybe for local development it should be the base tag without a revision. In CI we probably should reference the exact revision for the sake of reproducible builds.

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 21:58):

Do we need shorter tags, too? Like gdcc/base:0.9.1, pointing to a sensible default? Or do we want people to pin down versions?

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 22:00):

Thinking about what happens when we merge a Payara update to develop. If we keep the version number for the base image unchanges, all of a sudden the Payara version changes. Which is back to square one, where unstable all of a sudden changes...

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 22:01):

If we really want those shorter things, IMHO we'd need some automation to seriously fail CI jobs when we forget to increase the base image version if Payara, Java version or OS change.

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 22:02):

@Philip Durbin this is probably something we could discuss Thursday

view this post on Zulip Oliver Bertuch (Aug 26 2024 at 22:05):

Some sanity check in a CI job that helps avoiding drift between base image version used in the application image and shipped by the actual base module is necessary anyway

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 11:36):

The tags look jammy! Thanks, @Oliver Bertuch! :heart:

And, yes, let's discuss on Thursday (#containers > weekly meeting where all are welcome!).

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 11:38):

I think I'm ok with "unstable" changing when we upgrade Payara. Of course, I might be missing something important.

To me we're really trying to support people who don't want to be on "unstable", who want to be on a tag like "6.4" or whatever.

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 13:28):

Sure! But the base image is very different from the app image. I was thinking about using the app version for the base image back and forth, but it's probably not a good idea

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 13:29):

There might be intermediate changes in the base image when we merge to develop. So people should not all of a sudden have a changed image. But I also don't like the idea of extraspecific references to a revision image when being in a development context

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 13:30):

IMHO the combined tag of app version + base image revision number does not fully express a functionality change in the base image.

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 13:34):

I'm fine with different tags for the base image vs. the app image.

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 13:36):

Do you think we should have short rolling tags, too?

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 13:37):

Example: 0.9.1-jammy-pyr6.2024.6-tmrn17 -> 0.9.1-jammy or even just 0.9.1

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 13:38):

Well, at a high level, I'm ok with getting some kind of tagging going and then iterating over time.

That said, it would be nice to get it "right" or close to right, the first time.

Short tags are definitely easier on the eyes. :eyes:

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 13:40):

I would be pretty simple to cut them off...

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 13:40):

And technically we are talking rolling tags - they are expected to change

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 13:54):

Alright. Let's pin these images down. Let's make rolling tags <version>-<flavor> and let only the stable tags contain payara and temurin version plus the revision number

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 14:01):

So... 0.9.1-jammy?

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 14:01):

Aye

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 14:01):

Leaves the option make images that have different OSes

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 14:02):

Maybe at some point we want Dataverse app images based on Redhat UBI as well as Ubuntu

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 14:06):

Right now we're on Ubuntu because that's what Temurin is based on, right?

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 14:06):

Yes and no

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 14:06):

Temurin has more images available

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 14:07):

They offer variants with Redhat UBI, Alpine, different Ubuntu versions and Windows

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 14:09):

Quoting https://github.com/docker-library/docs/blob/master/eclipse-temurin/README.md#supported-tags-and-respective-dockerfile-links

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 14:12):

I see!

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 14:13):

The Redhat bit might become important for MassOC :wink:

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 14:13):

To run on OpenShift? Yeah, maybe.

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 15:47):

Dang... While writing docs I came across another pitfall: if a release and develop does not have changes or just a Payara update, both branches will fight for authority over the shorter tags...

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 15:51):

I :heart: Documentation Driven Development :grinning:

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 15:52):

Now I'm thinkin we maybe should add the dataverse version to the tag :unamused:

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 15:52):

For the base image too?

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 15:54):

Thinking about adding the DV version to the image labels. Don't update the image if these don't match

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 15:54):

So avoid fighting over it

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 16:01):

You know best!

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 16:01):

Ha! You wish!

view this post on Zulip Philip Durbin πŸš€ (Aug 27 2024 at 16:04):

Well, we're all gaining a lot of good experience, at least :sweat_smile:

view this post on Zulip Oliver Bertuch (Aug 27 2024 at 16:05):

Truer words have seldomly been spoken. :see_no_evil:

view this post on Zulip Oliver Bertuch (Aug 30 2024 at 12:03):

We discussed this during our working group meeting yesterday and came to a better understanding of what we want. https://docs.google.com/document/d/1X49oElqgORdTCMECRfb5BuKUI1_yw86G3qnu8TXK76k/edit

view this post on Zulip Oliver Bertuch (Aug 30 2024 at 15:41):

Looks like this is working now as discussed

view this post on Zulip Oliver Bertuch (Aug 30 2024 at 15:42):

https://hub.docker.com/r/gdcc/base/tags

view this post on Zulip Oliver Bertuch (Sep 01 2024 at 12:16):

Very nice - the scheduled update ran (https://github.com/gdcc/wip-dataverse-base-image/actions/runs/10650721620/job/29522439082), but didn't do anything as neither a new Java image nor package updates were available

view this post on Zulip Oliver Bertuch (Sep 04 2024 at 14:03):

So. This basically works. Now what. Should I rope versioning application images into this same PR? @Philip Durbin WDYT?

view this post on Zulip Philip Durbin πŸš€ (Sep 04 2024 at 14:33):

You know, I listened to the recordings but I'm still a bit lost, I'm afraid. Does the PR have docs?

view this post on Zulip Oliver Bertuch (Sep 04 2024 at 14:34):

There isn't a PR yet, but I can make one quickly

view this post on Zulip Oliver Bertuch (Sep 04 2024 at 14:34):

Do you want me to?

view this post on Zulip Oliver Bertuch (Sep 04 2024 at 14:34):

(Then you have preview docs)

view this post on Zulip Philip Durbin πŸš€ (Sep 04 2024 at 14:36):

Well, no rush. If you link to the branch I can look at the rst files.

view this post on Zulip Oliver Bertuch (Sep 04 2024 at 15:23):

Here you go:
Base Image
Making Releases

view this post on Zulip Oliver Bertuch (Sep 04 2024 at 15:25):

Oh wow, you can even enable a "rich diff" that will the changes rendered!
image.png

view this post on Zulip Philip Durbin πŸš€ (Sep 04 2024 at 15:34):

s/Bitname/Bitnami/

view this post on Zulip Oliver Bertuch (Sep 04 2024 at 15:44):

Good catch, but I expect more :see_no_evil:

view this post on Zulip Philip Durbin πŸš€ (Sep 04 2024 at 15:47):

Ha. Overall, looks great. Confusing though. Maybe I'll try to write my own version and you can tell me if it's accurate. :sweat_smile:

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 18:38):

There's no PR yet that I can make a ```suggestion against, right?

view this post on Zulip Oliver Bertuch (Sep 06 2024 at 18:38):

I thought I created one... Maybe I just dreamt that?

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 18:40):

Don't let me rush you! :stuck_out_tongue_wink:

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 18:40):

Actually, I could make a PR into your branch.

view this post on Zulip Oliver Bertuch (Sep 06 2024 at 18:42):

https://github.com/IQSS/dataverse/pull/10827

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 18:47):

Thanks. The branch is https://github.com/gdcc/wip-dataverse-base-image/tree/10478-version-base-img but there's a branch with the same name in origin/upstream. Can we delete it? This: https://github.com/IQSS/dataverse/tree/10478-version-base-img

view this post on Zulip Oliver Bertuch (Sep 06 2024 at 18:48):

Sure thing. I started working on that one first but then realised I need a fork with that branch as default to test more stuff

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 18:50):

Deleted. Thanks.

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 18:53):

Ah git remote update origin --prune is my friend.

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 19:08):

I don't love this: "there is no review or QA necessary, as it is a predefined necessity."

view this post on Zulip Oliver Bertuch (Sep 06 2024 at 19:08):

Feel free to rephrase

view this post on Zulip Oliver Bertuch (Sep 06 2024 at 19:09):

Do I need to elaborate?

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 19:09):

Well, help me understand. Does it need to be the first PR merged after a release?

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 19:10):

I changed it to just "Now create a pull request and merge it."

view this post on Zulip Oliver Bertuch (Sep 06 2024 at 19:10):

Yes and no. If it isn't the first, someone might use some old base image with it. That may or may not work, depending on what's going on.

view this post on Zulip Oliver Bertuch (Sep 06 2024 at 19:11):

It probably should be the first. It's a very simple thing to do. As it is part of the release process, it kind of should always be the first one. We don't merge other things before the release process is done, aye? :wink:

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 19:15):

Right. It's a clean slate.

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 19:15):

Ok, I'm not done but please see https://github.com/gdcc/wip-dataverse-base-image/pull/1

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 19:15):

I'm going to use the same PR to look at other docs.

view this post on Zulip Oliver Bertuch (Sep 06 2024 at 19:16):

Will do. But not today. Weekend's started :wink: :cocktail:

view this post on Zulip Philip Durbin πŸš€ (Sep 06 2024 at 20:48):

Enjoy! For Monday, I went ahead and pushed another commit. That PR is ready for you.

view this post on Zulip Philip Durbin πŸš€ (Sep 10 2024 at 10:30):

@Oliver Bertuch when you have a moment, I'm curious what you think of https://github.com/gdcc/wip-dataverse-base-image/pull/1

view this post on Zulip Philip Durbin πŸš€ (Sep 12 2024 at 14:29):

Thanks for going over my docs PR in the meeting just now.

view this post on Zulip Philip Durbin πŸš€ (Sep 12 2024 at 14:29):

TODO: send an email to the google group with a link to the recording and ask what they think about the plan for tags.

view this post on Zulip Philip Durbin πŸš€ (Sep 12 2024 at 16:34):

Sent! https://groups.google.com/g/dataverse-community/c/c_AbRdiBo_c/m/ALVmh0qLAQAJ

view this post on Zulip Johannes D (Sep 13 2024 at 07:01):

I like the proposed change for container tags. However, I believe outside of the developer community the base image is not actively used and even their the usage is limit to a sub group. Hence, use whatever tag system works for you. Nevertheless, it would be nice if the suggested changes for the base image could be also applied to the application image. Here the suggested change would work great...

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:04):

Of course it's planned to dona similar thing for the application images! But it's a different issue :wink:

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:04):

Did you watch the recording?

view this post on Zulip Johannes D (Sep 13 2024 at 07:05):

parts of it

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:05):

We were particularly unsure about the Flexi Stack tags. They are mostly relevant for getting images down to backend devs if there are breaking changes like Payara or Java version.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:06):

Would that be helpful? Or are devs OK with just getting told to pull again after such large breaking changes are merged?

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:08):

Also happy to jump on a call for this. Can fire up a Zoom room quick

view this post on Zulip Johannes D (Sep 13 2024 at 07:09):

IMHO those tags are great, I can change them as I need as a developer and they offer a great environment for matrix builds to test various java and application server combinations

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:10):

I hear you!

view this post on Zulip Johannes D (Sep 13 2024 at 07:11):

However, most of the time I don't care about the java version or application server version. Hence, I just use whatever is configured in maven.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:11):

That's what I said :laughing:

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:11):

The tag string will just be glued together by Maven for you.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:12):

You probably won't even recognize in day to day work

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:13):

Phil said Frontend devs are using unstable now for the SPA work. Should we add a rolling tag 6.x-flavor which looks the same as the production rolling tag, but is for the next unreleased version?

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:13):

Once the release is cut, it would roll over to be a production tag, also accompanied by the immutable tags

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:15):

(Obviously I would try to copy most of these ideas and policies to the app image)

view this post on Zulip Johannes D (Sep 13 2024 at 07:21):

Oliver Bertuch said:

Phil said Frontend devs are using unstable now for the SPA work. Should we add a rolling tag 6.x-flavor which looks the same as the production rolling tag, but is for the next unreleased version?

Yep, that would be awesome. Two rolling ones latest for the main branch and development for the development one would be awesome.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:21):

Oh wait so you're in favor of latest pointing to the latest production tag?

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:22):

I'm not sure this is a good idea... it violates the Bitnami pattern and the well known definition of latest tag as an unstable thing.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:24):

Oh wait actually that's wrong. They just say latest points to the most current revision

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:25):

Would that latest tag pointing to the latest release be helpful for you?

view this post on Zulip Johannes D (Sep 13 2024 at 07:28):

Maybe I'm wrong but my intuition says latest refers the latest release. Whenever I use docker images I want to use the latest stable version. It's rather seldom that I want some development or test version, unless I'm involved in the development testing.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:29):

I hear you!

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:29):

As I said above, it would actually be more in line with the Bitnami policy. I had that wrong in my head.

view this post on Zulip Johannes D (Sep 13 2024 at 07:29):

Most of the image users are (will) not be part of the development circle but rather users or sys admins. Hence, the tags should suit their needs.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:30):

Ok so maybe we can just keep the unstable tag as before for a rolling tag of develop

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:32):

Now I'm glad I already have the code to detect being on the latest release :laughing:

view this post on Zulip Johannes D (Sep 13 2024 at 07:33):

Maybe we could even adopt https://semver.org/ ;)

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:34):

We kind of have. There are patch releases for DV every now and then

view this post on Zulip Johannes D (Sep 13 2024 at 07:34):

but thats a discussion independent of containers...

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:34):

Do you think we should prolong the tags carrying the 0 for the patch version?

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:35):

I'd find that odd because I'm accustomed to the shorter tags in DV releases

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:35):

Most people also reference a DV version using these shorter variants. Probably because a patch release happens so rarely

view this post on Zulip Johannes D (Sep 13 2024 at 07:36):

Once application tags are used. We'll need some method to distinguish between the base and the hotfix container version.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:37):

Do we? We have revisions... Is there harm in adding the patches?

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:38):

People should always use the immutable tags for production l, so no one will be surprised

view this post on Zulip Johannes D (Sep 13 2024 at 07:39):

If I use 6.3 in production and want/need to update the the hotfix version do I upgrade the image version to 6.3.1 or to some SHA revision number?

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:39):

No, you'd upgrade from -r1 to -r2

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:39):

(Numbers only being placeholders here)

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:40):

So on your K8s deployment you're always referencing the immutable tags.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:41):

If you want to update, you can just change the Revision number and properly test deploys, but also roll back easily.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:41):

Much easier than a SHA sum :innocent:

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:42):

The same would be true for any other backported changes we might provide for security purposes. So I'm not sure why it wouldn't be good to do the same with backporting application patches

view this post on Zulip Johannes D (Sep 13 2024 at 07:43):

I see. I wasn't aware of the revision part of the tag. With a bit of rearranging (dropping r) it would be compliment to a semantic version...

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:44):

Hmm yeah I'd like to stick to the Bitnami pattern with the -r suffix.

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:44):

Also because these are on scheduled maintenance. If the content needs to change because of updates, the revision will be incremented

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:45):

That's not the same as an actual patch release of Dataverse

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:46):

I'm offering that Zoom room again :innocent:

view this post on Zulip Johannes D (Sep 13 2024 at 07:47):

As said I'm fine with all of that:)

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:48):

Ok great!

view this post on Zulip Oliver Bertuch (Sep 13 2024 at 07:49):

To summarize as TLDR:

view this post on Zulip Philip Durbin πŸš€ (Sep 13 2024 at 10:48):

Hmm, during the call I was on board with having "latest" be equivalent to "unstable" but I hear you that "latest" should be stable, which is "master" (the latest release).

We do endeavor to keep the "develop" branch (which maps to "unstable") release-ready but sometimes a bug creeps in that we fix before we release. So yeah, "master" should be a bit more stable.

And like we're saying, developers are already used to using "unstable" so there would be no change for them.

view this post on Zulip Philip Durbin πŸš€ (Sep 13 2024 at 10:48):

Thanks for the feedback, @Johannes D! :heart:

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 13:59):

Do we want to try to get this in for 6.4? I'm asking because this is the last sprint before we release. The sprint ends next Wednesday, Sep. 25.

No pressure! I'm just trying to raise awareness of when 6.4 might come out.

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 13:59):

Working on it. Would be good to have it in.

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 14:06):

Awesome. Is there anything I can do to help?

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:06):

Not sure. I'm changing the docs again to fit what we discussed during the last CT meeting

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:07):

What are we gonna do about review and QA?

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:07):

Once I change all stuff to be suitable for upstream merge, it's not possible to run and test this anymore

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 14:08):

I'd probably just merge it, honestly.

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:08):

There's always git blame :see_no_evil:

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 14:08):

If we get something wrong, we can try again, right?

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:08):

Yes of course!

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:17):

I merged your PR @Philip Durbin πŸ‰ and tweaked the docs some more. Here's the preview: https://dataverse-guide--10827.org.readthedocs.build/en/10827/container/base-image.html#supported-image-tags

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 14:29):

Right, right, latest can be used for production now. Makes sense.

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 14:30):

Flexibile stack has a stray trailng comma (sorry): "n>-j<java.version>:"

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 14:31):

Also, we should keep the NOTE indented with flexible stack if we can.

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:32):

Well the same thing is true for the other "upcoming" tag

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:32):

Which is why I extracted it.

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 14:32):

Oh! Never mind, then!

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 14:33):

Maybe we could add, "in these tags for development use, the current tag will..."

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:38):

Sure :smile:

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:40):

Done!

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 14:47):

Should we call it <dv-minor-next> instead of <dv-minor>? This might reduce confusion.

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:47):

Oh good idea!

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:48):

I already made it 6.4 in prod and 6.5 in dev

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:48):

So that's well aligned then

view this post on Zulip Oliver Bertuch (Sep 16 2024 at 14:49):

Added and pushed

view this post on Zulip Philip Durbin πŸš€ (Sep 16 2024 at 15:26):

Awesome. I just mentioned at standup that ideally we'd like to get this into 6.4. I didn't hear any objections.

view this post on Zulip Oliver Bertuch (Sep 17 2024 at 16:07):

I've added details to the description in https://github.com/IQSS/dataverse/pull/10827 to better communicate the state of this and what I see is still a TODO to get the job done. Feel free to take a look and think about what y'all might be able to contribute. (E.g. the feature to generate a proper README would be sth someone else can look into)

view this post on Zulip Oliver Bertuch (Sep 17 2024 at 16:07):

:point_up: @Philip Durbin πŸ‰ :wink:

view this post on Zulip Oliver Bertuch (Sep 17 2024 at 16:08):

I'm off now to get some construction work done...

view this post on Zulip Philip Durbin πŸš€ (Sep 17 2024 at 17:43):

Wow, I appreciate all the hard work on this! Thanks, @Oliver Bertuch! :dataverse_man:

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:36):

I have to admit I'm having trouble parsing this:

"Move Docker Hub image description README update for gdcc/base to maintenance workflow, also listing the supported tags"

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:36):

You want the README to be updated programmatically?

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:36):

It has always been like this

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:36):

But for now, the tags are hardcoded to "unstable" and "alpha"

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:37):

Now I want to have a list of the tags that are really supported

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:37):

Just like you can see them with other projects

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:38):

Otherwise people will click on "tags" and see a bunch of old tags lying around that we don't actually support?

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:38):

Exactly

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:38):

Could we just state our policy?

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:38):

We could, but that's kind of hard to parse when you're on Docker Hub

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:38):

It's not very convenient

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:39):

I'd rather properly list what's happening

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:39):

might be a good way to trim the tail

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:39):

Trim which tail?

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:40):

Screenshot-2024-09-18-at-11.39.58AM.png

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:40):

via https://blog.crisp.se/2012/10/25/henrikkniberg/agile-product-ownership-in-a-nutshell

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:40):

Ha!

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:41):

Sure, we could skip that for now. But it's not very far away now...

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:41):

I've just moved on from using a Github Action matrix to a build script that does the matrix itself.

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:41):

Whoops, I cut it off but the x axis is time.

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:41):

Github Action matrixes are just no good for advanced usage

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:41):

huh, interesting

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:41):

Also, I think the shell script is a lot more readable than the chatty thing you need to GH actions

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:42):

And we can run it locally to test it...

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:42):

nice

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:42):

It's up already, if you want to take a look

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:44):

.github/workflows/scripts/maintenance-job.sh I assume

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:44):

Aye

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:45):

IMHO it's way more readable...

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 15:45):

You remind me of Hamilton. :musical_notes: "Why do you write like you're running out of time? :musical_notes: --Non-Stop

view this post on Zulip Oliver Bertuch (Sep 18 2024 at 15:48):

The log looks like this now: https://github.com/gdcc/wip-dataverse-base-image/actions/runs/10925611937/job/30327491858

view this post on Zulip Philip Durbin πŸš€ (Sep 18 2024 at 16:08):

Looks good!

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 15:49):

Now on https://hub.docker.com/r/gdcc/base:
image.png

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 16:04):

Nicer than Bitnami even! :smiling_imp:

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 16:04):

Hrhr

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 16:05):

Just fixing that the revision tags are included in the list, too.

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 16:05):

Not that it's a competition. Everybody settle down.

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 16:38):

Alright we're getting close here!

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 16:56):

Only the release note is missing @Philip Durbin πŸ‰ !!!

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 16:56):

I applied the finishing touches, so no more running the jobs in the fork now...

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 17:02):

Oh wait I forgot the input param thing. Now I'm glad I did that list of TODOs. But everything else is done!

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 17:02):

I'm off now. More later or tomorrow.

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 20:17):

I'm back :see_no_evil:

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 20:26):

I didn't write the release note. Sorry. I'm still working on 6.4 release notes. :sweat_smile:

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 20:26):

I DID warn people at standup that we might want to get this PR in 6.4.

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 20:26):

I've been working really hard to get there :smiling:

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 20:27):

Go go go!

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 20:27):

Lots of blood, sweat and tears in those 140 commits

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 20:27):

Ha. Should we go ahead and put the PR into "in review"? :thinking:

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 20:28):

Let me get that one thing fixed with the empty tag, then we can do the release note and put it into ready for review while writing the note

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 20:28):

And put a size on it? Maybe a 3 since I'll probably just merge it. :smiling_imp:

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 20:28):

Oh, sorry, yes, I meant "ready for review".

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 20:28):

IIRC I already gave it a size

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 20:29):

Ah, yes, a 3. Perfect.

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 20:47):

OK I think I have a fix. But I can't test it because of the upstream adaption...

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 20:48):

Should we just merge it and cross fingers?

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 20:48):

I'll draft a release note now

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 20:54):

I'm fine with crossing fingers.

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 21:02):

Done! Let me know what you think: https://github.com/IQSS/dataverse/pull/10827/commits/52e6408a5a0d33629139c2098253e6ca8f08588a

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 21:02):

I'll put it in "RfR"

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 21:04):

143 commits. :firecracker: :exploding_head: (And I am quite thorough with my commits, I try to avoid single typo commits...)

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 21:07):

Looks perfect. We can always tweak it as we add it to #10866 (the 6.4 release notes).

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 21:07):

Splendid!

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 21:08):

I put my name on it and took you off. Thanks!

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 21:14):

Looks like you're still reviewing...

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 21:15):

Any chance you'll merge today @Philip Durbin πŸ‰ ? Then I'd stay a while longer and see if I need to hotfix stuff that breaks...

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 21:18):

Oh, uh, lemme ask in #dv-tech!

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 21:22):

Ok, I asked. :fingers_crossed:

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 21:24):

Haha you're fine with crossing fingers that someone else gives a green light, not with hitting the merge button :innocent: :laughing: :hug:

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 21:29):

I cannot act unilaterally. :grinning: We need a multilateral agreement. :crazy:

view this post on Zulip Philip Durbin πŸš€ (Sep 19 2024 at 21:30):

I left a tiny review for you

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 21:33):

Well it's already bilateral :flag_germany: :flag_us_outlying_islands:

view this post on Zulip Oliver Bertuch (Sep 19 2024 at 21:58):

Alright seems like we won't get a quorum today. I'm gonna call it a night, it's late here. More hubbub tomorrow.

view this post on Zulip Philip Durbin πŸš€ (Sep 20 2024 at 10:41):

Merged: Releasing versioned (base) images #10827

view this post on Zulip Oliver Bertuch (Sep 20 2024 at 14:12):

And no jobs failed! Smooth!

view this post on Zulip Philip Durbin πŸš€ (Sep 20 2024 at 15:28):

German engineering :muscle: :flag_germany:

view this post on Zulip Oliver Bertuch (Sep 23 2024 at 16:36):

Looks like the scheduled maintenance came through as well. And the tags list on the Hub now also has latest in it.

view this post on Zulip Notification Bot (Sep 23 2024 at 16:36):

Oliver Bertuch has marked this topic as resolved.


Last updated: Oct 30 2025 at 05:14 UTC