fix(landing-page): pin 1.2.2, the release that reads the privacy config - #42
Conversation
2.2.0 shipped the `landingPage.privacy` block while still pinning landing page 1.2.1, which predates the code that reads it. An installation on 2.2.0 therefore renders exactly what it rendered before - TUM as controller, "2 weeks", "deleted when the session ends" - no matter what its own config says. The block is inert. 1.2.2 is the first release whose privacy page reads it (EduIDE-Landing-Page#47), published earlier today. Verified the tag contains that merge commit and the image exists in ghcr before pinning it. Also corrects a comment in the config map that still named workspaceRetentionDays after the template moved to emitting seconds. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe chart version changes from 2.2.0 to 2.2.1. The default landing-page version changes from 1.2.1 to 1.2.2, and related README and template comment text is updated. ChangesChart release update
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to The updated landing-page default supports the chart’s privacy settings. The remaining changes update chart release information and correct a comment; no identified issue prevents merging. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Rendered diff across all environments208 lines changeddiff -ru out-base/bonn.eduide.aet.cit.tum.de.yaml out-head/bonn.eduide.aet.cit.tum.de.yaml
--- out-base/bonn.eduide.aet.cit.tum.de.yaml 2026-09-24 18:02:13.794923482 +0000
+++ out-head/bonn.eduide.aet.cit.tum.de.yaml 2026-09-24 18:02:16.280938751 +0000
@@ -376,11 +376,11 @@
terminationGracePeriodSeconds: 0
initContainers:
- name: image-preload-0
- image: "ghcr.io/eduide/eduide-landing-page:1.2.1"
+ image: "ghcr.io/eduide/eduide-landing-page:1.2.2"
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args:
- - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.1'; exit 0"
+ - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.2'; exit 0"
- name: image-preload-1
image: "ghcr.io/eduide/eduide/javascript:1.2.0"
imagePullPolicy: Always
@@ -453,7 +453,7 @@
automountServiceAccountToken: false
containers:
- name: landing-page-container
- image: ghcr.io/eduide/eduide-landing-page:1.2.1
+ image: ghcr.io/eduide/eduide-landing-page:1.2.2
imagePullPolicy: Always
env:
- name: SENTRY_ENABLE
diff -ru out-base/e2e.eduide.student.k8s.aet.cit.tum.de.yaml out-head/e2e.eduide.student.k8s.aet.cit.tum.de.yaml
--- out-base/e2e.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:14.042924840 +0000
+++ out-head/e2e.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:16.530940304 +0000
@@ -666,11 +666,11 @@
terminationGracePeriodSeconds: 0
initContainers:
- name: image-preload-0
- image: "ghcr.io/eduide/eduide-landing-page:1.2.1"
+ image: "ghcr.io/eduide/eduide-landing-page:1.2.2"
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args:
- - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.1'; exit 0"
+ - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.2'; exit 0"
- name: image-preload-1
image: "ghcr.io/eduide/eduide/c:1.2.0"
imagePullPolicy: Always
@@ -1102,7 +1102,7 @@
automountServiceAccountToken: false
containers:
- name: landing-page-container
- image: ghcr.io/eduide/eduide-landing-page:1.2.1
+ image: ghcr.io/eduide/eduide-landing-page:1.2.2
imagePullPolicy: Always
env:
- name: SENTRY_ENABLE
diff -ru out-base/eduide.artemis.cit.tum.de.yaml out-head/eduide.artemis.cit.tum.de.yaml
--- out-base/eduide.artemis.cit.tum.de.yaml 2026-09-24 18:02:14.259926190 +0000
+++ out-head/eduide.artemis.cit.tum.de.yaml 2026-09-24 18:02:16.746941647 +0000
@@ -418,11 +418,11 @@
terminationGracePeriodSeconds: 0
initContainers:
- name: image-preload-0
- image: "ghcr.io/eduide/eduide-landing-page:1.2.1"
+ image: "ghcr.io/eduide/eduide-landing-page:1.2.2"
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args:
- - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.1'; exit 0"
+ - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.2'; exit 0"
- name: image-preload-1
image: "ghcr.io/eduide/eduide/c:1.2.0"
imagePullPolicy: Always
@@ -537,7 +537,7 @@
automountServiceAccountToken: false
containers:
- name: landing-page-container
- image: ghcr.io/eduide/eduide-landing-page:1.2.1
+ image: ghcr.io/eduide/eduide-landing-page:1.2.2
imagePullPolicy: Always
env:
- name: SENTRY_ENABLE
diff -ru out-base/mannheim.eduide.aet.cit.tum.de.yaml out-head/mannheim.eduide.aet.cit.tum.de.yaml
--- out-base/mannheim.eduide.aet.cit.tum.de.yaml 2026-09-24 18:02:14.464927464 +0000
+++ out-head/mannheim.eduide.aet.cit.tum.de.yaml 2026-09-24 18:02:16.957942958 +0000
@@ -381,11 +381,11 @@
terminationGracePeriodSeconds: 0
initContainers:
- name: image-preload-0
- image: "ghcr.io/eduide/eduide-landing-page:1.2.1"
+ image: "ghcr.io/eduide/eduide-landing-page:1.2.2"
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args:
- - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.1'; exit 0"
+ - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.2'; exit 0"
- name: image-preload-1
image: "ghcr.io/eduide/eduide/thm-java-25:pr-170"
imagePullPolicy: Always
@@ -458,7 +458,7 @@
automountServiceAccountToken: false
containers:
- name: landing-page-container
- image: ghcr.io/eduide/eduide-landing-page:1.2.1
+ image: ghcr.io/eduide/eduide-landing-page:1.2.2
imagePullPolicy: Always
env:
- name: SENTRY_ENABLE
diff -ru out-base/staging.eduide.student.k8s.aet.cit.tum.de.yaml out-head/staging.eduide.student.k8s.aet.cit.tum.de.yaml
--- out-base/staging.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:14.712929006 +0000
+++ out-head/staging.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:17.207944512 +0000
@@ -666,11 +666,11 @@
terminationGracePeriodSeconds: 0
initContainers:
- name: image-preload-0
- image: "ghcr.io/eduide/eduide-landing-page:1.2.1"
+ image: "ghcr.io/eduide/eduide-landing-page:1.2.2"
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args:
- - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.1'; exit 0"
+ - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.2'; exit 0"
- name: image-preload-1
image: "ghcr.io/eduide/eduide/c:1.2.0"
imagePullPolicy: Always
@@ -1102,7 +1102,7 @@
automountServiceAccountToken: false
containers:
- name: landing-page-container
- image: ghcr.io/eduide/eduide-landing-page:1.2.1
+ image: ghcr.io/eduide/eduide-landing-page:1.2.2
imagePullPolicy: Always
env:
- name: SENTRY_ENABLE
diff -ru out-base/test1.eduide.student.k8s.aet.cit.tum.de.yaml out-head/test1.eduide.student.k8s.aet.cit.tum.de.yaml
--- out-base/test1.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:14.965930579 +0000
+++ out-head/test1.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:17.456946059 +0000
@@ -666,11 +666,11 @@
terminationGracePeriodSeconds: 0
initContainers:
- name: image-preload-0
- image: "ghcr.io/eduide/eduide-landing-page:1.2.1"
+ image: "ghcr.io/eduide/eduide-landing-page:1.2.2"
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args:
- - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.1'; exit 0"
+ - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.2'; exit 0"
- name: image-preload-1
image: "ghcr.io/eduide/eduide/c:1.2.0"
imagePullPolicy: Always
@@ -1102,7 +1102,7 @@
automountServiceAccountToken: false
containers:
- name: landing-page-container
- image: ghcr.io/eduide/eduide-landing-page:1.2.1
+ image: ghcr.io/eduide/eduide-landing-page:1.2.2
imagePullPolicy: Always
env:
- name: SENTRY_ENABLE
diff -ru out-base/test2.eduide.student.k8s.aet.cit.tum.de.yaml out-head/test2.eduide.student.k8s.aet.cit.tum.de.yaml
--- out-base/test2.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:15.216932139 +0000
+++ out-head/test2.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:17.709947631 +0000
@@ -666,11 +666,11 @@
terminationGracePeriodSeconds: 0
initContainers:
- name: image-preload-0
- image: "ghcr.io/eduide/eduide-landing-page:1.2.1"
+ image: "ghcr.io/eduide/eduide-landing-page:1.2.2"
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args:
- - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.1'; exit 0"
+ - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.2'; exit 0"
- name: image-preload-1
image: "ghcr.io/eduide/eduide/c:1.2.0"
imagePullPolicy: Always
@@ -1102,7 +1102,7 @@
automountServiceAccountToken: false
containers:
- name: landing-page-container
- image: ghcr.io/eduide/eduide-landing-page:1.2.1
+ image: ghcr.io/eduide/eduide-landing-page:1.2.2
imagePullPolicy: Always
env:
- name: SENTRY_ENABLE
diff -ru out-base/test3.eduide.student.k8s.aet.cit.tum.de.yaml out-head/test3.eduide.student.k8s.aet.cit.tum.de.yaml
--- out-base/test3.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:15.465933686 +0000
+++ out-head/test3.eduide.student.k8s.aet.cit.tum.de.yaml 2026-09-24 18:02:17.958949179 +0000
@@ -666,11 +666,11 @@
terminationGracePeriodSeconds: 0
initContainers:
- name: image-preload-0
- image: "ghcr.io/eduide/eduide-landing-page:1.2.1"
+ image: "ghcr.io/eduide/eduide-landing-page:1.2.2"
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args:
- - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.1'; exit 0"
+ - "echo 'Loaded image ghcr.io/eduide/eduide-landing-page:1.2.2'; exit 0"
- name: image-preload-1
image: "ghcr.io/eduide/eduide/c:1.2.0"
imagePullPolicy: Always
@@ -1102,7 +1102,7 @@
automountServiceAccountToken: false
containers:
- name: landing-page-container
- image: ghcr.io/eduide/eduide-landing-page:1.2.1
+ image: ghcr.io/eduide/eduide-landing-page:1.2.2
imagePullPolicy: Always
env:
- name: SENTRY_ENABLE |
Why
2.2.0 shipped the privacy work in an inert state.
It contains the whole
landingPage.privacyblock - derived retention, worst-case session limits, configurable controller and data protection officer - but still pinsversions.landingPage: "1.2.1", which predates the code that reads any of it.Verified against the published artifact, not inferred:
So an installation pinned to 2.2.0 renders exactly what it rendered before - TUM as controller, "2 weeks", "deleted when the session ends" - regardless of its own config. Bonn would still tell users their persistent workspaces are discarded with the session, and Mannheim would still say 2 weeks instead of 150 days.
What this does
Pins
1.2.2, the first landing page release whose privacy page reads the block (EduIDE-Landing-Page#47, merged today). I checked the tag contains that merge commit and that the image is published to ghcr before pinning it.Also fixes a comment in the config map that still named
workspaceRetentionDaysafter the template moved to emitting seconds.After this releases
EduIDE-deployment#138 currently pins every environment to
2.2.0; it needs to move to2.2.1, otherwise the fleet gets the inert chart.Not touched
appVersionis1.2.0while EduIDE's latest release isv1.2.1, andversions.ide: ""falls through to it - so IDE images are pinned a release behind. That is a real question but it changes which image every student runs, which does not belong in a privacy fix.🤖 Generated with Claude Code
Summary by CodeRabbit