Skip to content
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

[WIP] Streamline deployment of GESIS acceptance server #3178

Draft
wants to merge 24 commits into
base: main
Choose a base branch
from

Conversation

rgaiacs
Copy link
Collaborator

@rgaiacs rgaiacs commented Jan 21, 2025

This is related with #2797 and #3087.

SSH access to GESIS Kubernetes cluster requires access to GESIS VPN. This makes the use of GitHub actions challenge.

Different than #3090, this PR assumes that the GESIS Kubernetes is configured. GESIS Kubernetes runs on bare-metal and is configured following MetalLB + Ingress NGINX Controller.

GESIS operates a on-premise GitLab. This PR addes a GitLab CI/CD configuration to deploy the mybinder.org Helm chart to the GESIS Kubernetes using GitLab agent for Kubernetes.

After #3159, any the commit on main is pushed to GESIS GitLab and will trigger a new deployment of this mybinder.org Helm chart.

At the moment, the Helm chart deploy fails with

Error: Unable to continue with install: IngressClass "nginx" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "interactive-environment": current value is "ingress-nginx"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "interactive-environment": current value is "ingress-nginx"

My understanding of the error is that GESIS Kubernetes already has a Ingress Class nginx that was configured for MetalLB + Ingress NGINX Controller but the Binder Hub and Jupyter Hub upstream Helm chart tries to create the same Ingress Class nginx and this operation is blocked. Is my understanding correct? @manics @yuvipanda @minrk

@rgaiacs rgaiacs self-assigned this Jan 21, 2025
@rgaiacs rgaiacs requested review from minrk and manics January 22, 2025 13:00
@rgaiacs
Copy link
Collaborator Author

rgaiacs commented Jan 22, 2025

This is ready for review. If it looks good, please merge.

The mybinder's Helm chart was changed to allow the static server to be disabled.

@arnim this does not include the custom GESIS page. This will go in another PR.

@manics
Copy link
Member

manics commented Feb 4, 2025

I think this is fine- though would you mind minimising the changes to the templates, or alternatively put the reformatting into a separate PR and ideally add whatever formatter you're using to pre-commit?

@rgaiacs
Copy link
Collaborator Author

rgaiacs commented Feb 5, 2025

though would you mind minimising the changes to the templates

I will do at the end of the month. Busy with a couple of things.

yuvipanda added a commit to yuvipanda/mybinder.org-deploy that referenced this pull request Feb 11, 2025
In response to jupyterhub#3178 (comment),
I realized we can automate all this now.
yuvipanda added a commit to yuvipanda/mybinder.org-deploy that referenced this pull request Feb 12, 2025
Turns out just setting it on NotebookApp doesn't set it on ServerApp
now, and so all of our templates were actually just no-ops for a while.

Discovered while testing jupyterhub#3178
@yuvipanda
Copy link
Contributor

@rgaiacs if you can give me access to https://github.com/gesiscss/mybinder.org-deploy/tree/gesis-methods-hub, i can push the required changes and get this merged!

@rgaiacs
Copy link
Collaborator Author

rgaiacs commented Feb 12, 2025

@yuvipanda Thanks for the message. I cannot give you access to https://github.com/gesiscss. I can push a new merge request from https://github.com/rgaiacs but this will have the same side effect of you push a new merge request from your user.

You have my permission to take over this. I'm only be able to devote some time in March.

@yuvipanda
Copy link
Contributor

I haven't been able to touch this, but also feel uncomfortable merging this myself because I know how to test its effects on the GESIS setup :(

@rgaiacs rgaiacs changed the title Streamline deployment of GESIS acceptance server [WIP] Streamline deployment of GESIS acceptance server Mar 11, 2025
@rgaiacs rgaiacs marked this pull request as draft March 11, 2025 17:40
@rgaiacs
Copy link
Collaborator Author

rgaiacs commented Mar 11, 2025

I changed this to a draft because @arnim and @rgaiacs are waiting a decision from GESIS leadership regarding the hardware they will provide financial support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants