diff --git a/.github/workflows/deploy-theia.yml b/.github/workflows/deploy-theia.yml index 23d737b..299bbd3 100644 --- a/.github/workflows/deploy-theia.yml +++ b/.github/workflows/deploy-theia.yml @@ -380,22 +380,24 @@ 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-13 (IDE + no-ls + langserver preload + AI) are set above / here. + # Index 14 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[3]=ghcr.io/eduide/eduide/java-17-ai:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[4]=ghcr.io/eduide/eduide/java-17-templates-ai:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[5]=ghcr.io/eduide/eduide/c:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[6]=ghcr.io/eduide/eduide/javascript:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[7]=ghcr.io/eduide/eduide/ocaml:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[8]=ghcr.io/eduide/eduide/rust:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[9]=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[10]=ghcr.io/eduide/eduide/java-17-no-ls:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[11]=ghcr.io/eduide/eduide/rust-no-ls:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[12]=ghcr.io/eduide/eduide/langserver-java:${IDE_IMAGES_TAG}" + --set "theia-cloud.preloading.images[13]=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..d078728 100644 --- a/charts/theia-appdefinitions/values.yaml +++ b/charts/theia-appdefinitions/values.yaml @@ -32,6 +32,31 @@ apps: dataBridgePort: "16281" + - name: java-17-ai-latest + image: ghcr.io/eduide/eduide/java-17-ai + # imageTag: latest # Optional: override defaultImageTag for this app + requestsMemory: 500M + requestsCpu: 500m + limitsMemory: 3000M + minInstances: 3 + maxInstances: 1000 + options: + dataBridgeEnabled: "true" + dataBridgePort: "16281" + + - name: java-17-templates-ai-latest + image: ghcr.io/eduide/eduide/java-17-templates-ai + # imageTag: latest # Optional: override defaultImageTag for this app + requestsMemory: 500M + requestsCpu: 500m + limitsMemory: 3000M + minInstances: 0 + maxInstances: 1000 + options: + dataBridgeEnabled: "true" + dataBridgePort: "16281" + + - name: c-latest image: ghcr.io/eduide/eduide/c # 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..78835e5 100644 --- a/charts/theia-cloud-combined/values.yaml +++ b/charts/theia-cloud-combined/values.yaml @@ -76,12 +76,15 @@ theia-cloud: name: service-admin-api-token key: ADMIN_API_TOKEN - # Preload indices 0–11 align with .github/workflows/deploy-theia.yml tag overrides; 12 = oauth2-proxy (not overridden there). + # Preload list indices 0–13 must match deploy-theia.yml --set overrides when tags are passed. + # Index 14 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/java-17-ai:latest + - ghcr.io/eduide/eduide/java-17-templates-ai:latest - ghcr.io/eduide/eduide/c:latest - ghcr.io/eduide/eduide/javascript:latest - ghcr.io/eduide/eduide/ocaml:latest @@ -114,6 +117,7 @@ theia-cloud: visible: false java-17-templates-latest: label: Java 17 + aiVariant: java-17-templates-ai-latest buildSystems: - id: maven label: Maven 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..d698c15 100644 --- a/deployments/test1.theia-test.artemis.cit.tum.de/values.yaml +++ b/deployments/test1.theia-test.artemis.cit.tum.de/values.yaml @@ -1,6 +1,7 @@ hosts: configuration: - &hostsConfig # This is a YAML anchor for reusability and readability + # This is a YAML anchor for reusability and readability + &hostsConfig baseHost: theia-test.artemis.cit.tum.de service: service.test1 landing: test1 @@ -72,13 +73,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–13 must match deploy-theia.yml --set overrides when tags are passed. + # Index 14 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/java-17-ai:latest + - ghcr.io/eduide/eduide/java-17-templates-ai:latest - ghcr.io/eduide/eduide/c:latest - ghcr.io/eduide/eduide/javascript:latest - ghcr.io/eduide/eduide/ocaml:latest @@ -111,6 +114,7 @@ theia-cloud: visible: false java-17-templates-latest: label: Java 17 + aiVariant: java-17-templates-ai-latest buildSystems: - id: maven label: Maven @@ -144,7 +148,6 @@ theia-cloud: text: "About" url: "https://aet.cit.tum.de/" - keycloak: enable: true 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..5290459 100644 --- a/deployments/test2.theia-test.artemis.cit.tum.de/values.yaml +++ b/deployments/test2.theia-test.artemis.cit.tum.de/values.yaml @@ -1,6 +1,7 @@ hosts: configuration: - &hostsConfig # This is a YAML anchor for reusability and readability + # This is a YAML anchor for reusability and readability + &hostsConfig baseHost: theia-test.artemis.cit.tum.de service: service.test2 landing: test2 @@ -72,13 +73,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–13 must match deploy-theia.yml --set overrides when tags are passed. + # Index 14 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/java-17-ai:latest + - ghcr.io/eduide/eduide/java-17-templates-ai:latest - ghcr.io/eduide/eduide/c:latest - ghcr.io/eduide/eduide/javascript:latest - ghcr.io/eduide/eduide/ocaml:latest @@ -111,6 +114,7 @@ theia-cloud: visible: false java-17-templates-latest: label: Java 17 + aiVariant: java-17-templates-ai-latest buildSystems: - id: maven label: Maven @@ -127,7 +131,7 @@ theia-cloud: rust-latest: label: Rust infoTitle: "Welcome to EduIDE Cloud (Test2)" - infoText: " " + infoText: " " loadingText: "Preparing your personal Online IDE..." footerLinks: attribution: @@ -144,7 +148,6 @@ theia-cloud: text: "About" url: "https://aet.cit.tum.de/" - keycloak: enable: true 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..72bf690 100644 --- a/deployments/test3.theia-test.artemis.cit.tum.de/values.yaml +++ b/deployments/test3.theia-test.artemis.cit.tum.de/values.yaml @@ -80,13 +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–13 must match deploy-theia.yml --set overrides when tags are passed. + # Index 14 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/java-17-ai:latest + - ghcr.io/eduide/eduide/java-17-templates-ai:latest - ghcr.io/eduide/eduide/c:latest - ghcr.io/eduide/eduide/javascript:latest - ghcr.io/eduide/eduide/ocaml: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..7b8251f 100644 --- a/deployments/theia-staging.artemis.cit.tum.de/values.yaml +++ b/deployments/theia-staging.artemis.cit.tum.de/values.yaml @@ -1,6 +1,7 @@ hosts: configuration: - &hostsConfig # This is a YAML anchor for reusability and readability + # This is a YAML anchor for reusability and readability + &hostsConfig baseHost: artemis.cit.tum.de service: service.theia-staging landing: theia-staging @@ -73,13 +74,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–13 must match deploy-theia.yml --set overrides when tags are passed. + # Index 14 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/java-17-ai:latest + - ghcr.io/eduide/eduide/java-17-templates-ai:latest - ghcr.io/eduide/eduide/c:2026-05-05 - ghcr.io/eduide/eduide/javascript:2026-05-05 - ghcr.io/eduide/eduide/ocaml:2026-05-05 @@ -113,6 +116,7 @@ theia-cloud: visible: false java-17-templates-latest: label: Java 17 + aiVariant: java-17-templates-ai-latest buildSystems: - id: maven label: Maven @@ -146,7 +150,6 @@ theia-cloud: text: "About" url: "https://aet.cit.tum.de/" - keycloak: enable: true diff --git a/deployments/theia.artemis.cit.tum.de/values.yaml b/deployments/theia.artemis.cit.tum.de/values.yaml index 112da9f..25a4889 100644 --- a/deployments/theia.artemis.cit.tum.de/values.yaml +++ b/deployments/theia.artemis.cit.tum.de/values.yaml @@ -1,6 +1,7 @@ hosts: configuration: - &hostsConfig # This is a YAML anchor for reusability and readability + # This is a YAML anchor for reusability and readability + &hostsConfig baseHost: artemis.cit.tum.de service: service.theia landing: theia @@ -73,13 +74,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–13 must match deploy-theia.yml --set overrides when tags are passed. + # Index 14 is oauth2-proxy (distroless); the workflow does not override it. preloading: images: - ghcr.io/eduide/eduidec-landing-page:1.1.0 - ghcr.io/eduide/eduide/java-17:1.1.0 - ghcr.io/eduide/eduide/java-17-templates:1.1.0 + - ghcr.io/eduide/eduide/java-17-ai:latest + - ghcr.io/eduide/eduide/java-17-templates-ai:latest - ghcr.io/eduide/eduide/c:1.1.0 - ghcr.io/eduide/eduide/javascript:1.1.0 - ghcr.io/eduide/eduide/ocaml:1.1.0 @@ -113,6 +116,7 @@ theia-cloud: visible: false java-17-templates-latest: label: Java 17 + aiVariant: java-17-templates-ai-latest buildSystems: - id: maven label: Maven diff --git a/value-reference-files/theia-cloud-helm-values.yml b/value-reference-files/theia-cloud-helm-values.yml index 7c9f03e..53a7f53 100644 --- a/value-reference-files/theia-cloud-helm-values.yml +++ b/value-reference-files/theia-cloud-helm-values.yml @@ -78,6 +78,7 @@ landingPage: visible: false java-17-templates-latest: label: Java 17 + aiVariant: java-17-templates-ai-latest buildSystems: - id: maven label: Maven diff --git a/value-reference-files/tum-theia-cloud-helm-test-values.yaml b/value-reference-files/tum-theia-cloud-helm-test-values.yaml index 71bdb9c..d846edd 100644 --- a/value-reference-files/tum-theia-cloud-helm-test-values.yaml +++ b/value-reference-files/tum-theia-cloud-helm-test-values.yaml @@ -84,6 +84,7 @@ theia-cloud: additionalApps: java-17-templates-latest: label: Java 17 + aiVariant: java-17-templates-ai-latest buildSystems: - id: maven label: Maven