Skip to content

Conversation

@yuvipanda
Copy link
Contributor

@yuvipanda yuvipanda commented Oct 20, 2025

  • Changes existing OVH terraform code to instead be able to support OVH registry only, as we use k3s for kubernetes
  • Setup a new kubernetes k3s cluster, following our existing k3s docs, for running the staging cluster
  • Deploy to this new staging cluster
  • Have the staging cluster's launch events come to the same analytics pipeline as our prod cluster for now, instead of setting up two separate ones as we have so far. This adds a tiny amount of noise to our pipeline (potentially - i see it's a different log name) but is worth it
  • Turn off the event publisher related code for now. This means we'll only have this in prod.
  • Turn off matomo, as we use plausible now in prod instances.
  • Setup k3s on a manually created VM on OVHCloud. I added an ssh key with access to the ubuntu user (which has full sudo) to this PR as a secret.
  • DNS is currently set to https://staging.mybinder.2i2c.cloud/ because i no longer have access to mybinder.org DNS. It's on cloudflare but it seems to require 2fa now and i don't have access. Maybe @minrk does?

TODO

  • Fix the DNS to point to staging.mybinder.org instead of the 2i2c.cloud domains
  • Test that this works in our CI
  • Rip out the existing staging cluster and everything with it, say 'thank you' and gently bury it with respect

See #3477 (keep it open until we've cleaned up the old staging)

@yuvipanda yuvipanda force-pushed the ovh branch 2 times, most recently from 91ec4fd to fa19883 Compare October 21, 2025 23:48
@yuvipanda yuvipanda changed the title Revamp OVH terraform to support k3s based setups Move Staging to run on OVH with k3s Oct 21, 2025
@yuvipanda yuvipanda mentioned this pull request Oct 22, 2025
5 tasks
@manics
Copy link
Member

manics commented Oct 25, 2025

The mybinder.org domain is managed by Jupyter: jupyterhub/team-compass#424 (comment)

@yuvipanda
Copy link
Contributor Author

i no longer have access to that cloudflare account. It seems to require 2fa and i don’t have 2fa for it :(

@manics
Copy link
Member

manics commented Nov 20, 2025

@Carreau has very kindly updated the DNS for staging.mybinder.org to point to this new host.
Next step is to update this PR with the new hostnames for the K8S ingress and certificates

yuvipanda and others added 6 commits November 20, 2025 10:17
With our k3s based setups, terraform on OVH is primarily
managing *just* the harbor setup, removing all the k8s stuff. I'd
like for us to use one harbor across multiple smaller VPS
instances.
- Use 2i2c.cloud as domain because I don't have access to mybinder.org
  domain yet
@manics
Copy link
Member

manics commented Nov 22, 2025

/test-this-pr

@jupyterhub-bot
Copy link
Collaborator

This Pull Request is now being tested 🎉 See the test progress in GitHub Actions.

@jupyterhub-bot
Copy link
Collaborator

Job status: failure
Branch 'test-this-pr/3476' has been deleted

@manics
Copy link
Member

manics commented Nov 22, 2025

The deployment failed because events-archiver-secrets isn't available for staging. It's not configured on our current staging, so I'll revert the extraVolumes config added in 4d2594f

Edit: reverted the revert in a subsequent commit, it's needed

@manics
Copy link
Member

manics commented Nov 22, 2025

/test-this-pr

@jupyterhub-bot
Copy link
Collaborator

This Pull Request is now being tested 🎉 See the test progress in GitHub Actions.

@jupyterhub-bot
Copy link
Collaborator

Job status: failure
Branch 'test-this-pr/3476' has been deleted

@manics
Copy link
Member

manics commented Nov 22, 2025

/test-this-pr

@jupyterhub-bot
Copy link
Collaborator

This Pull Request is now being tested 🎉 See the test progress in GitHub Actions.

This reverts commit 4737811.

Revert "staging: revert addition of `events-archiver-secrets` config"

This reverts commit 38bec04.
@jupyterhub-bot
Copy link
Collaborator

Job status: failure
Branch 'test-this-pr/3476' has been deleted

staging on gke presumable has automatic persmissions to push events to a staging location? OVH won't, but to unblock this push events to prod for now
@manics
Copy link
Member

manics commented Nov 22, 2025

/test-this-pr

@jupyterhub-bot
Copy link
Collaborator

This Pull Request is now being tested 🎉 See the test progress in GitHub Actions.

@manics
Copy link
Member

manics commented Nov 22, 2025

@yuvipanda do you have some unpushed changes? secrets/config/staging.yaml is missing the updated OVH registry credentials

@jupyterhub-bot
Copy link
Collaborator

Job status: failure
Branch 'test-this-pr/3476' has been deleted

@manics
Copy link
Member

manics commented Nov 23, 2025

I've updated the ovh registry secrets using the terraform outputs from

output "registry_builder_name" {
value = harbor_robot_account.builder.full_name
sensitive = true
}
output "registry_builder_token" {
value = harbor_robot_account.builder.secret
sensitive = true
}
output "registry_user_puller_name" {
value = harbor_robot_account.user-puller.full_name
sensitive = true
}
output "registry_user_puller_token" {
value = harbor_robot_account.user-puller.secret
sensitive = true
}

/test-this-pr

@jupyterhub-bot
Copy link
Collaborator

This Pull Request is now being tested 🎉 See the test progress in GitHub Actions.

@jupyterhub-bot
Copy link
Collaborator

Job status: success
Branch 'test-this-pr/3476' has been deleted

@manics
Copy link
Member

manics commented Nov 23, 2025

test-this-pr has successfully deployed this to staging! Be aware the node is quite small, I suspect this causes more complicated images to fail e.g. https://github.com/manics/jupyter-desktop-mate/ will build and launch, but the desktop hangs.

I think another review would be good, then merge!

@manics manics requested a review from minrk November 23, 2025 12:17
@yuvipanda
Copy link
Contributor Author

Thank you for taking this through, @manics! I think you should just merge and see how it goes :D

@manics
Copy link
Member

manics commented Nov 25, 2025

@yuvipanda Thanks! YOLO....

@manics manics merged commit d12eb26 into jupyterhub:main Nov 25, 2025
8 checks passed
@yuvipanda
Copy link
Contributor Author

@manics how did this go?

@manics
Copy link
Member

manics commented Nov 25, 2025

Seems to have worked 😀

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.

4 participants