diff --git a/.github/workflows/deploy-theia.yml b/.github/workflows/deploy-theia.yml index 23d737b..0b255f8 100644 --- a/.github/workflows/deploy-theia.yml +++ b/.github/workflows/deploy-theia.yml @@ -380,22 +380,23 @@ jobs: fi # Only override IDE images when a tag is explicitly provided. - # Indices 0 (landing) and 1-11 (IDE + no-ls + langserver preload) are set above / here. - # Index 12 is oauth2-proxy (distroless); keep it only in values.yaml so it is never replaced by a string override. + # Indices 0 (landing) and 1-12 (IDE + no-ls + langserver preload) are set above / here. + # Index 13 is oauth2-proxy (distroless); keep it only in values.yaml so it is never replaced by a string override. if [ -n "${IDE_IMAGES_TAG}" ]; then HELM_CMD+=( --set "theia-cloud.preloading.images[1]=ghcr.io/eduide/eduide/java-17:${IDE_IMAGES_TAG}" --set "theia-cloud.preloading.images[2]=ghcr.io/eduide/eduide/java-17-templates:${IDE_IMAGES_TAG}" --set "theia-cloud.preloading.images[3]=ghcr.io/eduide/eduide/c:${IDE_IMAGES_TAG}" - --set "theia-cloud.preloading.images[4]=ghcr.io/eduide/eduide/javascript:${IDE_IMAGES_TAG}" - --set "theia-cloud.preloading.images[5]=ghcr.io/eduide/eduide/ocaml:${IDE_IMAGES_TAG}" - --set "theia-cloud.preloading.images[6]=ghcr.io/eduide/eduide/rust:${IDE_IMAGES_TAG}" - --set "theia-cloud.preloading.images[7]=ghcr.io/eduide/eduide/python:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[4]=ghcr.io/eduide/eduide/c-templates:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[5]=ghcr.io/eduide/eduide/javascript:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[6]=ghcr.io/eduide/eduide/ocaml:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[7]=ghcr.io/eduide/eduide/rust:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[8]=ghcr.io/eduide/eduide/python:${IDE_IMAGES_TAG}" # Intentionally override no-ls + langserver preload images globally when IDE tag is overridden. - --set "theia-cloud.preloading.images[8]=ghcr.io/eduide/eduide/java-17-no-ls:${IDE_IMAGES_TAG}" - --set "theia-cloud.preloading.images[9]=ghcr.io/eduide/eduide/rust-no-ls:${IDE_IMAGES_TAG}" - --set "theia-cloud.preloading.images[10]=ghcr.io/eduide/eduide/langserver-java:${IDE_IMAGES_TAG}" - --set "theia-cloud.preloading.images[11]=ghcr.io/eduide/eduide/langserver-rust:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[9]=ghcr.io/eduide/eduide/java-17-no-ls:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[10]=ghcr.io/eduide/eduide/rust-no-ls:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[11]=ghcr.io/eduide/eduide/langserver-java:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[12]=ghcr.io/eduide/eduide/langserver-rust:${IDE_IMAGES_TAG}" --set theia-appdefinitions.defaultImageTag="${IDE_IMAGES_TAG}" ) fi diff --git a/charts/theia-appdefinitions/values.yaml b/charts/theia-appdefinitions/values.yaml index e978de9..07a895d 100644 --- a/charts/theia-appdefinitions/values.yaml +++ b/charts/theia-appdefinitions/values.yaml @@ -44,6 +44,18 @@ apps: dataBridgeEnabled: "true" dataBridgePort: "16281" + - name: c-templates-latest + image: ghcr.io/eduide/eduide/c-templates + # imageTag: latest # Optional: override defaultImageTag for this app + requestsMemory: 500M + requestsCpu: 200m + limitsMemory: 2400M + minInstances: 0 + maxInstances: 1000 + options: + dataBridgeEnabled: "true" + dataBridgePort: "16281" + - name: javascript-latest image: ghcr.io/eduide/eduide/javascript # imageTag: latest # Optional: override defaultImageTag for this app diff --git a/charts/theia-cloud-combined/values.yaml b/charts/theia-cloud-combined/values.yaml index 83425e9..45c8f76 100644 --- a/charts/theia-cloud-combined/values.yaml +++ b/charts/theia-cloud-combined/values.yaml @@ -83,6 +83,7 @@ theia-cloud: - ghcr.io/eduide/eduide/java-17:latest - ghcr.io/eduide/eduide/java-17-templates:latest - ghcr.io/eduide/eduide/c:latest + - ghcr.io/eduide/eduide/c-templates:latest - ghcr.io/eduide/eduide/javascript:latest - ghcr.io/eduide/eduide/ocaml:latest - ghcr.io/eduide/eduide/rust:latest @@ -121,6 +122,14 @@ theia-cloud: label: Gradle c-latest: label: C + visible: false + c-templates-latest: + label: C + buildSystems: + - id: bazel + label: Bazel + - id: make + label: Make javascript-latest: label: Javascript ocaml-latest: diff --git a/deployments/shared-gateway/values.yaml b/deployments/shared-gateway/values.yaml index a057332..42aec39 100644 --- a/deployments/shared-gateway/values.yaml +++ b/deployments/shared-gateway/values.yaml @@ -62,4 +62,4 @@ gateway: tlsSecretName: shared-theia-cert - name: staging-webview hostname: "*.webview.instance.theia-staging.artemis.cit.tum.de" - tlsSecretName: static-theia-cert + tlsSecretName: static-theia-cert \ No newline at end of file diff --git a/deployments/test1.theia-test.artemis.cit.tum.de/values.yaml b/deployments/test1.theia-test.artemis.cit.tum.de/values.yaml index 66e8ce3..7158670 100644 --- a/deployments/test1.theia-test.artemis.cit.tum.de/values.yaml +++ b/deployments/test1.theia-test.artemis.cit.tum.de/values.yaml @@ -72,14 +72,15 @@ theia-cloud: # name: service-admin-api-token # key: ADMIN_API_TOKEN - # Preload list indices 0–11 must match deploy-theia.yml --set overrides when tags are passed. - # Index 12 is oauth2-proxy (distroless); the workflow does not override it. + # Preload list indices 0–12 must match deploy-theia.yml --set overrides when tags are passed. + # Index 13 is oauth2-proxy (distroless); the workflow does not override it. preloading: images: - ghcr.io/eduide/eduidec-landing-page:latest - ghcr.io/eduide/eduide/java-17:latest - ghcr.io/eduide/eduide/java-17-templates:latest - ghcr.io/eduide/eduide/c:latest + - ghcr.io/eduide/eduide/c-templates:latest - ghcr.io/eduide/eduide/javascript:latest - ghcr.io/eduide/eduide/ocaml:latest - ghcr.io/eduide/eduide/rust:latest @@ -118,6 +119,14 @@ theia-cloud: label: Gradle c-latest: label: C + visible: false + c-templates-latest: + label: C + buildSystems: + - id: bazel + label: Bazel + - id: make + label: Make javascript-latest: label: Javascript ocaml-latest: diff --git a/deployments/test2.theia-test.artemis.cit.tum.de/values.yaml b/deployments/test2.theia-test.artemis.cit.tum.de/values.yaml index 89c0ad3..1481a3a 100644 --- a/deployments/test2.theia-test.artemis.cit.tum.de/values.yaml +++ b/deployments/test2.theia-test.artemis.cit.tum.de/values.yaml @@ -72,14 +72,15 @@ theia-cloud: # name: service-admin-api-token # key: ADMIN_API_TOKEN - # Preload list indices 0–11 must match deploy-theia.yml --set overrides when tags are passed. - # Index 12 is oauth2-proxy (distroless); the workflow does not override it. + # Preload list indices 0–12 must match deploy-theia.yml --set overrides when tags are passed. + # Index 13 is oauth2-proxy (distroless); the workflow does not override it. preloading: images: - ghcr.io/eduide/eduidec-landing-page:latest - ghcr.io/eduide/eduide/java-17:latest - ghcr.io/eduide/eduide/java-17-templates:latest - ghcr.io/eduide/eduide/c:latest + - ghcr.io/eduide/eduide/c-templates:latest - ghcr.io/eduide/eduide/javascript:latest - ghcr.io/eduide/eduide/ocaml:latest - ghcr.io/eduide/eduide/rust:latest @@ -118,6 +119,14 @@ theia-cloud: label: Gradle c-latest: label: C + visible: false + c-templates-latest: + label: C + buildSystems: + - id: bazel + label: Bazel + - id: make + label: Make javascript-latest: label: Javascript ocaml-latest: diff --git a/deployments/test3.theia-test.artemis.cit.tum.de/values.yaml b/deployments/test3.theia-test.artemis.cit.tum.de/values.yaml index aa3b9db..080ae55 100644 --- a/deployments/test3.theia-test.artemis.cit.tum.de/values.yaml +++ b/deployments/test3.theia-test.artemis.cit.tum.de/values.yaml @@ -80,14 +80,15 @@ theia-cloud: name: service-admin-api-token key: ADMIN_API_TOKEN - # Preload list indices 0–11 must match deploy-theia.yml --set overrides when tags are passed. - # Index 12 is oauth2-proxy (distroless); the workflow does not override it. + # Preload list indices 0–12 must match deploy-theia.yml --set overrides when tags are passed. + # Index 13 is oauth2-proxy (distroless); the workflow does not override it. preloading: images: - ghcr.io/eduide/eduidec-landing-page:latest - ghcr.io/eduide/eduide/java-17:latest - ghcr.io/eduide/eduide/java-17-templates:latest - ghcr.io/eduide/eduide/c:latest + - ghcr.io/eduide/eduide/c-templates:latest - ghcr.io/eduide/eduide/javascript:latest - ghcr.io/eduide/eduide/ocaml:latest - ghcr.io/eduide/eduide/rust:latest diff --git a/deployments/theia-staging.artemis.cit.tum.de/values.yaml b/deployments/theia-staging.artemis.cit.tum.de/values.yaml index 8a23713..e94aa30 100644 --- a/deployments/theia-staging.artemis.cit.tum.de/values.yaml +++ b/deployments/theia-staging.artemis.cit.tum.de/values.yaml @@ -57,7 +57,7 @@ theia-cloud: interval: 3 operator: - image: ghcr.io/eduide/eduide-cloud/operator:2026-05-05 + image: ghcr.io/eduide/eduide-cloud/operator:latest sentry: enable: true #eagerStart: false @@ -66,29 +66,30 @@ theia-cloud: storageClassName: csi-rbd-sc service: - image: ghcr.io/eduide/eduide-cloud/service:2026-05-05 + image: ghcr.io/eduide/eduide-cloud/service:latest sentry: enable: true adminApiTokenSecret: name: service-admin-api-token key: ADMIN_API_TOKEN - # Preload list indices 0–11 must match deploy-theia.yml --set overrides when tags are passed. - # Index 12 is oauth2-proxy (distroless); the workflow does not override it. + # Preload list indices 0–12 must match deploy-theia.yml --set overrides when tags are passed. + # Index 13 is oauth2-proxy (distroless); the workflow does not override it. preloading: images: - - ghcr.io/eduide/eduidec-landing-page:2026-05-05 - - ghcr.io/eduide/eduide/java-17:2026-05-05 - - ghcr.io/eduide/eduide/java-17-templates:2026-05-05 - - ghcr.io/eduide/eduide/c:2026-05-05 - - ghcr.io/eduide/eduide/javascript:2026-05-05 - - ghcr.io/eduide/eduide/ocaml:2026-05-05 - - ghcr.io/eduide/eduide/rust:2026-05-05 - - ghcr.io/eduide/eduide/python:2026-05-05 - - ghcr.io/eduide/eduide/java-17-no-ls:2026-05-05 - - ghcr.io/eduide/eduide/rust-no-ls:2026-05-05 - - ghcr.io/eduide/eduide/langserver-java:2026-05-05 - - ghcr.io/eduide/eduide/langserver-rust:2026-05-05 + - ghcr.io/eduide/eduidec-landing-page:latest + - ghcr.io/eduide/eduide/java-17:latest + - ghcr.io/eduide/eduide/java-17-templates:latest + - ghcr.io/eduide/eduide/c:latest + - ghcr.io/eduide/eduide/c-templates:latest + - ghcr.io/eduide/eduide/javascript:latest + - ghcr.io/eduide/eduide/ocaml:latest + - ghcr.io/eduide/eduide/rust:latest + - ghcr.io/eduide/eduide/python:latest + - ghcr.io/eduide/eduide/java-17-no-ls:latest + - ghcr.io/eduide/eduide/rust-no-ls:latest + - ghcr.io/eduide/eduide/langserver-java:latest + - ghcr.io/eduide/eduide/langserver-rust:latest - image: quay.io/oauth2-proxy/oauth2-proxy:v7.12.0 args: ["--version"] @@ -100,7 +101,7 @@ theia-cloud: landingPage: # We use the try now page as landing page since the default does not support mutliple apps -> https://github.com/eclipsesource/theia-cloud/discussions/301 - image: ghcr.io/eduide/eduidec-landing-page:2026-05-05 + image: ghcr.io/eduide/eduidec-landing-page:latest sentry: enable: true logoFileExtension: "png" @@ -120,6 +121,14 @@ theia-cloud: label: Gradle c-latest: label: C + visible: false + c-templates-latest: + label: C + buildSystems: + - id: bazel + label: Bazel + - id: make + label: Make javascript-latest: label: Javascript ocaml-latest: @@ -160,7 +169,7 @@ theia-cloud: clientId: "theia-staging" theia-appdefinitions: - defaultImageTag: "2026-05-05" + defaultImageTag: "latest" monitoring: targetNamespaces: