Skip to content

fix(landing-page): pin 1.2.2, the release that reads the privacy config - #42

Merged
Mtze merged 1 commit into
mainfrom
fix/pin-landing-page-122
Sep 24, 2026
Merged

Mtze merged 1 commit into
mainfrom
fix/pin-landing-page-122

Conversation

@Mtze

@Mtze Mtze commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Why

2.2.0 shipped the privacy work in an inert state.

It contains the whole landingPage.privacy block - derived retention, worst-case session limits, configurable controller and data protection officer - but still pins versions.landingPage: "1.2.1", which predates the code that reads any of it.

Verified against the published artifact, not inferred:

$ helm pull oci://ghcr.io/eduide/charts/eduide --version 2.2.0 --untar
  controller keys:  2            ✅ present
  emits:            workspaceRetentionSeconds  ✅ present
  versions.landingPage: "1.2.1"  ❌ ignores all of it

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 workspaceRetentionDays after the template moved to emitting seconds.

After this releases

EduIDE-deployment#138 currently pins every environment to 2.2.0; it needs to move to 2.2.1, otherwise the fleet gets the inert chart.

Not touched

appVersion is 1.2.0 while EduIDE's latest release is v1.2.1, and versions.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

  • Updates
    • Updated the chart release to version 2.2.1 and set the default landing page version to 1.2.2.
    • The updated landing page version reads the configured privacy settings; version 1.2.1 did not.
    • Corrected a retention setting description to match the reported value.

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>
@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 8dff8b43-e313-4a2d-86d1-2b7680cbc926

📥 Commits

Reviewing files that changed from the base of the PR and between 7de57f2 and fab9485.

📒 Files selected for processing (4)
  • charts/eduide/Chart.yaml
  • charts/eduide/README.md
  • charts/eduide/templates/landing-page-config-map.yaml
  • charts/eduide/values.yaml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The 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.

Changes

Chart release update

Layer / File(s) Summary
Chart version and landing-page default
charts/eduide/Chart.yaml, charts/eduide/values.yaml, charts/eduide/templates/landing-page-config-map.yaml, charts/eduide/README.md
The chart version changes to 2.2.1, and the default landing-page version changes to 1.2.2. The README describes the landing-page privacy configuration behavior. A template comment now names workspaceRetentionSeconds and its source. No rendered configuration values change.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to fab94

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)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: updating the landing-page pin to version 1.2.2 so it reads the privacy configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@github-actions

Copy link
Copy Markdown

Rendered diff across all environments

208 lines changed
diff -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

@Mtze
Mtze merged commit 1d9da21 into main Sep 24, 2026
10 checks passed
@Mtze
Mtze deleted the fix/pin-landing-page-122 branch September 24, 2026 18:08
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.

1 participant