Stream: containers

Topic: support SPA dev #12746


view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 25 2026 at 15:25):

I just made this PR and I'd love to discuss it: support SPA dev - #12746

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 25 2026 at 15:26):

At the moment, in that PR, we have two Keycloak realms. We should get it back down to one, right?

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 25 2026 at 17:23):

Trying to get us back down to one in https://github.com/IQSS/dataverse/pull/12746/changes/465f12dfaf757cb32a761f0d7faff346d6ecc967

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 15:33):

At tech hours just gave a demo of spinning up the backend and then the frontend along side it (just the frontend, no containers). It worked!

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 15:33):

@Oliver Bertuch sorry you missed it. Any objection to me merging #12746? I begged someone, anyone, to approve it (still waiting). :sweat_smile:

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 18:44):

"failed to push quay.io/gdcc/configbaker 401 UNAUTHORIZED" seen at https://github.com/IQSS/dataverse/actions/runs/36610067205/job/109552748623?pr=12746

@Oliver Bertuch any ideas on this one? :thinking:

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 18:51):

I suspect a bug (feature?) in the DMP, causing the quay.io registry name to bleed from the Keycloak build into the Maven properties. It's the only way why all of a sudden Maven's docker.registry would be set to quay.io, as the Dockerfile and compose file in conf/keycloak are the only relevant places in all of our codebase where quay.io appears (aside from docs and a JUnit test).

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 18:55):

Huh, so probably unrelated to that PR? (For discussion of that PR, please see #containers > support SPA dev #12746.)

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 18:56):

Not unrelated. You are adding a build section for Keycloak to docker-compose-dev!

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 18:56):

Oh! :sweat_smile:

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 18:58):

Since it's related, I combined the topics.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:35):

@Oliver Bertuch I listened to the 2023-04-27 container meeting (notes) and it gave me some perspective on where we were back then.

Back then I was the only one using the backend Docker dev env and I had only been using it for a month.

Also, a couple times we said that we really want a simple solution for frontend developers who don't even have Java installed.

Not once did I say, "Wait! Frontend developers should just run the backend the same way the backend developers do!" Guillermo said, "I'm gonna go build the dev-env stuff in the frontend repo to spin up containers over there." And I didn't stop him. I was like go go go, do it!

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:35):

So nice that we have these recordings!

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:36):

yeah

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:36):

It's pretty different now. Cheng and JP are both quite comfortable hacking on Java.

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:37):

Nice. So there's been a transition. Sound like it's about time to change the flow.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:39):

Yeah. I mean, the dev-env will still work. We'll see what the pain points are when trying to switch away.

I mentioned how the frontend only supports S3.

Maybe we'll want to switch the backend dev env to use S3 by default?!?

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:41):

These things are really hard IMO. We are asking devs to take a toll when we keep adding stuff. With hardware being at a premium, it makes we worried we are raising entry barriers.

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:41):

I'm wondering if we can make use of something like profiles.

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:42):

So devs can activate things as needed

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:42):

sure

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:43):

We tried to help Parth karalkar but his laptop was underpowered. More recently Janvi Kapoor had the same problem.

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:44):

And this is not going to change any time soon I'm afraid :sad-docker:

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:44):

:sad-docker:

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:45):

Compose has profiles: https://docs.docker.com/compose/how-tos/profiles/

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:45):

nice

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:45):

But we might need to add this to DMP

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:45):

There probably is no support for this.

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:45):

I don't know if we should move away from DMP

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:46):

You keep saying that. :smile:

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:46):

I still like how integrated it is and how clean we can generate our images

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:46):

But maybe we need to stop trying to work against the ecosystem's flow.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:46):

if it's not fun, why do it? :smile:

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:48):

We should probably try to talk with our fellow devs who use containers what they want

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:48):

If people feel more comfortable using Maven for everything, it may be worth it.

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:49):

I did all the Maven things to optimize Docker layers and make it more accessible. But if people don't care about that... :shrugdog:

view this post on Zulip Ash Manda (Sep 29 2026 at 22:57):

Right now, the container workflow for local development, testing, and even the GitHub workflows in the develop branch (JSF and integration tests) is just mvn -Pct package and mvn -Pct docker:start. This is highly convenient, super fast, and deeply integrated. I would really hate to see it go away from a workflow perspective.

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 22:57):

Thanks for sharing your perspective!

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 22:59):

I use mvn -Pct exclusively (rather than docker compose). Works fine. No complaints.

view this post on Zulip Ash Manda (Sep 29 2026 at 23:02):

After going through the manual install process, my respect for this workflow has become 100x

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 23:02):

Uh oh. As of https://github.com/IQSS/dataverse/pull/12746/changes/dffc9366ee853a14d685994188b86514138b5afd (where I tried to switch to DMP for building Keycloak) I'm now seeing this:

[ERROR] DOCKER> Unable to build image [gdcc/keycloak:unstable] : "ADD failed: failed to GET https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc11/23.8.0.25.04/ojdbc11-23.8.0.25.04.jar with status 429 Too Many Requests: This tool has been identified as abusive and/or wasteful in the way it interacts with Maven Central. Use a caching proxy to limit your impact on the ecosystem. https://www.linkedin.com/feed/update/urn:li:activity:7456004385634992128/"

From https://github.com/IQSS/dataverse/actions/runs/36633121641/job/109630839749?pr=12746

view this post on Zulip Oliver Bertuch (Sep 29 2026 at 23:03):

Yeah - this is probably due to Maven downloading the internet all the time

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 23:04):

Oh. I assumed I did something wrong in that commit. Which I probably did, who knows.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 23:05):

I changed a few more files than we talked about.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 29 2026 at 23:22):

At the moment, we only need the Keycloak image locally in development. Can we prevent it from being built and pushed in CI? :thinking:

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 14:20):

@Oliver Bertuch I deleted that commit (preserved it, first) and replaced it with this approach of not building or pushing the dev_keycloak image: https://github.com/IQSS/dataverse/pull/12746/changes/f8786261fd16a2b6a4f6a038cdf5ecdb247a9b69

view this post on Zulip Oliver Bertuch (Sep 30 2026 at 14:21):

Sounds good!

view this post on Zulip Oliver Bertuch (Sep 30 2026 at 14:22):

I suspect the Keycloak stuff should be moved to either its own repo or at least Maven module...

view this post on Zulip Oliver Bertuch (Sep 30 2026 at 14:22):

It would be so much easier if we'd have a proper Maven module structure in our repo... :see_no_evil:

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 14:22):

Yes, we do have #12597 about moving the jar to its own repo.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 14:34):

Hmm, CI is failing with "Unable to pull 'gdcc/keycloak:latest'". I shouldn't be surprised, I guess.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 14:34):

Maybe this wasn't such a hot idea. :thinking: I preserved the commit above.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 14:56):

A variation on the approach above. Whitelisting images to build and push in order to exclude dev_keycloak from being built and pushed: https://github.com/IQSS/dataverse/pull/12746/changes/900fed0f8c194284a80065c427261b639597d520

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 15:44):

:woohoo: tests are passing!

@Oliver Bertuch what do you think?!? :sweat_smile:

This existing comment is confusing now, given what I added...

"Build the application image, but skip the configbaker image (that's a different job)!"

... because I'm whitelisting the configbaker image (and the app image). :thinking:

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 15:54):

All I know is tests are passing and I have the SPA running! :woohoo:

view this post on Zulip Oliver Bertuch (Sep 30 2026 at 16:19):

Not to give you some murky mojo, but did you try adding a skip config for the keycloak image and maybe set that to true by default?

view this post on Zulip Oliver Bertuch (Sep 30 2026 at 16:20):

The filter works, sure, but there may be unintended side effects now.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 16:20):

No, I didn't try a skip config.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 19:34):

@Oliver Bertuch do you want me to try something? I'm a little fuzzy on what you want. Please feel free to bang on the branch!

view this post on Zulip Oliver Bertuch (Sep 30 2026 at 19:35):

I don't want anything. Just not sure what the best approach is. But hey, we can always circle back and do multiple steps. At the time the keycloak stuff gets thrown out, we just need to remember to get this stuff out again. Maybe leave a comment on the CI workflows with a cross ref to #12597?

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 19:38):

Sure, I'll do that.

What about the existing comment I mentioned above?

The comment says we are skipping configbaker, but the filter I added is saying to include configbaker. :thinking: Who's right? Should I remove configbaker from the filter? :thinking:

view this post on Zulip Oliver Bertuch (Sep 30 2026 at 19:40):

Oh. Ehem. Not sure? :see_no_evil:

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 19:44):

Well, maybe we can talk it out more at the container meeting tomorrow.

view this post on Zulip Philip Durbin ๐Ÿš€ (Sep 30 2026 at 20:25):

My goal is to get it merged so I can have the SPA running all the time. Happy to do whatever to get it approved! :smile:

view this post on Zulip Philip Durbin ๐Ÿš€ (Oct 01 2026 at 11:16):

I'll bark like a dog. :midnight:

view this post on Zulip Philip Durbin ๐Ÿš€ (Oct 01 2026 at 11:17):

I'll cluck like a chicken. :chicken:

view this post on Zulip Philip Durbin ๐Ÿš€ (Oct 01 2026 at 18:23):

Screenshot 2026-10-01 at 2.22.55โ€ฏPM.png


Last updated: Oct 02 2026 at 18:51 UTC