Skip to content

chore: remove dead deployment code and correct stale docs - #111

Merged
Mtze merged 1 commit into
mainfrom
feature/git-setup-simplifications
Aug 25, 2026
Merged

chore: remove dead deployment code and correct stale docs#111
Mtze merged 1 commit into
mainfrom
feature/git-setup-simplifications

Conversation

@Mtze

@Mtze Mtze commented Aug 25, 2026

Copy link
Copy Markdown
Member

Phase 0 cleanup of the deployment repo. Every change is provably inert.

Verification

Rendered the theia-cloud-combined umbrella chart for all five environments before and after, masking the one known source of render nondeterminism (redis-password, which theia-shared-cache regenerates under helm template because its lookup returns empty):

IDENTICAL  test1     (48 resources)
IDENTICAL  test2     (48 resources)
IDENTICAL  test3     (42 resources)
IDENTICAL  staging   (48 resources)
IDENTICAL  prod      (48 resources)

Removed

  • deploy.sh - broken and referenced by nothing. Used --theia-certificates.x= instead of --set (would exit "unknown flag"), read a ./prod/ directory that does not exist in the repo, and sourced values files from the repo root that do not exist there either.

  • value-reference-files/ - a sixth copy of values already in deployments/, referenced by nothing but still being bumped in release PRs. theia-cloud-helm-values.yml still pointed at upstream Docker Hub images (theiacloud/theia-cloud-operator:1.1.0-next).

  • The monitoring: block in all five environment values files. theia-monitoring is installed as a separate release with no -f values file, and theia-cloud-combined has no monitoring dependency, so these keys reached nothing. I checked the chart's hardcoded namespace list is exactly the union of all five environments first - so nothing was silently unmonitored and this is pure redundancy, not a latent bug being hidden.

  • --set theia-certificates.wildcardCertificate/wildcardKey. Every environment sets wildcardTLSSecret.enabled: false, so wildcard-secret.yaml renders nothing. Proven by rendering theia-certificates with and without the flags: byte-identical. The shared-gateway release still receives the wildcard secrets and is untouched.

Kept deliberately

theia-prometheus-values.yaml moved to docs/reference/ rather than deleted. No workflow installs kube-prometheus-stack, which means that stack was installed by hand and this file is the only surviving record of how. Deleting it would have destroyed institutional knowledge; docs/monitoring-setup.md now explains its status.

Docs corrected

  • README tree listed a theia-metrics/ chart that does not exist (it is theia-monitoring/) and omitted test2, test3 and both shared-gateway environments.
  • Workflow header listed THEIA_KEYCLOAK_REALM / CLIENT_ID / CLIENT_SECRET as required secrets although none are read anywhere; realm and clientId are committed per environment in values.yaml and clientSecret stays "placeholder".

Noted, not fixed here

helm dependency build on the umbrella chart fails outright today - Chart.lock pins theia-cloud 1.4.0-next.4 while Chart.yaml says 1.4.0-next.6. It only works in CI because the workflow runs dependency update, which silently regenerates the lock. The lockfile therefore provides no reproducibility guarantee at present. Left alone here; addressed when subcharts are vendored.

🤖 Generated with Claude Code

https://claude.ai/code/session_019qeiQRFu8xAMRYWPdZewjG

Phase 0 cleanup. Every change here is provably inert: rendering the
umbrella chart for all five environments before and after produces
byte-identical output.

Removed:

- deploy.sh. Broken and unreferenced. It used --theia-certificates.x=
  instead of --set (not valid helm syntax, would exit with "unknown
  flag"), read a ./prod/ directory that does not exist in the repo, and
  sourced values files from the repo root that do not exist there
  either. Superseded by GitHub Actions long ago.

- value-reference-files/. A sixth copy of values already present in
  deployments/, referenced by nothing but still being bumped in release
  PRs. theia-cloud-helm-values.yml still pointed at upstream Docker Hub
  images (theiacloud/theia-cloud-operator:1.1.0-next).

- The monitoring: block in all five environment values files. The
  theia-monitoring chart is installed as a separate release with no -f
  values file, and theia-cloud-combined has no monitoring dependency, so
  these keys reached nothing. Verified the chart hardcoded namespace list
  is exactly the union of all five environments first, so nothing was
  silently unmonitored.

- The --set theia-certificates.wildcardCertificate/wildcardKey flags.
  Every environment sets wildcardTLSSecret.enabled=false, so
  wildcard-secret.yaml renders nothing. Confirmed by rendering
  theia-certificates with and without the flags: byte-identical. The
  shared-gateway release still receives the wildcard secrets and is
  untouched.

Kept deliberately:

- theia-prometheus-values.yaml moved to docs/reference/ rather than
  deleted. No workflow installs kube-prometheus-stack, which means that
  stack was installed by hand and this file is the only surviving record
  of how. docs/monitoring-setup.md now says so.

Docs corrected: the README tree listed a theia-metrics/ chart that does
not exist (it is theia-monitoring/) and omitted test2, test3 and both
shared-gateway environments. The workflow header listed
THEIA_KEYCLOAK_REALM / CLIENT_ID / CLIENT_SECRET as required secrets
although none are read anywhere.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qeiQRFu8xAMRYWPdZewjG
Copilot AI lite review requested due to automatic review settings August 25, 2026 13:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 17 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0423c5c4-1992-4d45-9d54-397a32786e1d

📥 Commits

Reviewing files that changed from the base of the PR and between f99b1c4 and eaf1d14.

📒 Files selected for processing (14)
  • .github/workflows/deploy-theia.yml
  • README.md
  • deploy.sh
  • deployments/test1.theia-test.artemis.cit.tum.de/values.yaml
  • deployments/test2.theia-test.artemis.cit.tum.de/values.yaml
  • deployments/test3.theia-test.artemis.cit.tum.de/values.yaml
  • deployments/theia-staging.artemis.cit.tum.de/values.yaml
  • deployments/theia.artemis.cit.tum.de/values.yaml
  • docs/monitoring-setup.md
  • docs/reference/kube-prometheus-stack-values.yaml
  • value-reference-files/theia-base-helm-values.yml
  • value-reference-files/theia-cloud-helm-values.yml
  • value-reference-files/theia-crds-helm-values.yml
  • value-reference-files/tum-theia-cloud-helm-test-values.yaml

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Mtze
Mtze merged commit 3581a1d into main Aug 25, 2026
4 of 7 checks passed
Mtze added a commit that referenced this pull request Aug 25, 2026
Only conflict was test3 theia-appdefinitions: this branch removes the
override so test3 inherits the chart defaults, main still carried the
no-ls apps. Kept the removal.

Verified afterwards that both sides survived: no language-server
references remain, and the monitoring blocks removed by #111 are still
gone.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qeiQRFu8xAMRYWPdZewjG
Mtze added a commit that referenced this pull request Aug 27, 2026
)

Adds this repo to the org-wide Renovate rollout, and closes the gap that
made the existing validation job weaker than it looks.

The repo no longer matches the shape the shared preset was written for.
`deployments/*/values.yaml` and the `preloading.images` lists it targets
with a custom manager were deleted in #111 and #113 - preload images are
derived from `appDefinitions.apps` in the chart now, and there are no
chart sources here at all since 2.0.0. That manager, and the preset's
`deployments/**` package rule, match nothing in this repo. Both are inert
rather than wrong; raising it against EduIDE/.github separately.

So the only versioned things left here are the actions in the workflows
and `spec.platform.chartVersion` in each environment manifest. The second
needs a custom manager: env.yaml is an eduide.dev/v1 Environment, so
neither helmv3 nor helm-values can read it. Verified the regex matches
exactly once per environment, 8 of 8, and does not touch values.yaml or
_base.yaml.

Production is separated from staging and test by path. Bumping
chartVersion in a production environment is not a chore that happens to
touch production - it is the documented release procedure, so it waits
behind a Dependency Dashboard tick. Grouping it with the test
environments would produce one PR that cannot be reverted for production
without also reverting the environments it was meant to be proven on.
Verified the two rules partition all eight manifests with none left over.

Also installs helm in the validation job. test-deploy-logic.sh renders
every environment against the published chart, but helm was never on the
runner, so that section printed SKIP and the job went green having
rendered nothing - the README's claim that CI "renders every environment"
was not true. An unreachable chart is now a failure in CI and still a
skip on a laptop.


Claude-Session: https://claude.ai/code/session_01QLGHEpzx7D9NYHx4fCmHa9

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.

2 participants