refactor: name every environment after the hostname it serves - #121
Closed
Mtze wants to merge 1 commit into
Closed
Conversation
An environment's directory, its GitHub Environment and its landing host are now
one string:
environments/test1.eduide.student.k8s.aet.cit.tum.de/
environments/eduide.artemis.cit.tum.de/
deploy.yml already used the same value for the manifest directory and the
GitHub Environment, so those could never disagree - but both could disagree with
the host actually served, and did. tum-production was configured for
`artemis.aet.cit.tum.de` while its certificate and DNS said
`artemis.cit.tum.de`, and nothing connected the two well enough to notice.
There is now no mapping to keep in sync, because there is no mapping.
Namespaces stay short (`eduide-test1`): a Kubernetes namespace cannot contain
dots, and each env.yaml states its own.
The GitHub Environments were recreated under the new names with their reviewer
teams and secrets, and the old ones deleted along with the pre-2.0.0
`theia-prod` and `theia-staging`. Cluster environments keep their `cluster-<name>`
names - they belong to a cluster, not to a hostname.
`/deploy` comments and the Deploy/Rollback dropdowns now carry the full
hostname. That is the cost of the scheme and it is deliberate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qeiQRFu8xAMRYWPdZewjG
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #120.
An environment's directory, its GitHub Environment and its landing host are now the same string:
Why
deploy.ymlalready used one value for both the manifest directory and the GitHub Environment, so those two could never disagree. But both could disagree with the host actually served - and did.tum-productionwas configured forartemis.aet.cit.tum.dewhile its wildcard certificate and its DNS both saidartemis.cit.tum.de, and nothing tied the name to the host closely enough for anyone to notice.There is now no mapping to keep in sync, because there is no mapping.
What moved
environments/.Deploy (dispatch)andRollbackdropdowns.deploy-e2e.ymlanddeploy-staging.yml, which named their environment inline.validate.ymlandtest-deploy-logic.sh, which read the chart version fromenvironments/test1/env.yaml.environments.mdis gone: the directory listing is that table now.What deliberately did not move
eduide-test1). A Kubernetes namespace cannot contain dots;spec.namespacestates each one.cluster-<name>. They belong to a cluster, not to a hostname.clusters/tum-production.yamlis a cluster, and only the environment of that name was renamed. Prose about the cluster was left alone.GitHub Environments
Recreated under the new names with their reviewer teams and secrets, then the old ones deleted, along with the pre-2.0.0
theia-prodandtheia-stagingwhich no workflow referenced and which still held live secrets.Secret values cannot be read back, so
THEIA_KEYCLOAK_COOKIE_SECRETwas regenerated for every environment rather than copied. Harmless here since nothing is deployed yet, but it is not a like-for-like migration.bonn.…andmannheim.…were created with reviewers and no secrets, matching their previous state - there is still no kubeconfig for theeduidecluster.Cost, accepted deliberately
/deploy test2.eduide.student.k8s.aet.cit.tum.deon a PR, and eight long options in the dropdowns.Verified
test-deploy-logic.shALL PASS (including the hostname-comment check added in #120),check-agents-md.sh,actionlint,shellcheck -S error, everyenv.yamlvalidates against its schema, all relative links resolve, and both a test and the production environment still render through the published 2.1.0 chart from their new paths.Noted, not fixed
deploy-e2e.ymlcallsEduIDE/theia-scale-tests/.github/workflows/functional-tests.ymlwith anenvironmentinput, but that workflow has noworkflow_calltrigger and declares no inputs. That call is already broken and predates this change.