From 926497fae2b1eaae67c6a2af07e1900855075b73 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 15:06:32 +0000 Subject: [PATCH 1/4] chore(deps): update quay.io/lightspeed-core/lightspeed-stack docker tag to v0.6.2 --- charts/backstage/values.yaml | 2 +- charts/rhdh/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/backstage/values.yaml b/charts/backstage/values.yaml index 56f739ca..8d1de31f 100644 --- a/charts/backstage/values.yaml +++ b/charts/backstage/values.yaml @@ -162,7 +162,7 @@ global: sidecar: name: lightspeed-core # -- Full image reference for the Lightspeed Core sidecar. Override for disconnected environments. - image: quay.io/lightspeed-core/lightspeed-stack:0.5.3 + image: quay.io/lightspeed-core/lightspeed-stack:0.6.2 imagePullPolicy: IfNotPresent portName: http-lightspeed containerPort: 8080 diff --git a/charts/rhdh/values.yaml b/charts/rhdh/values.yaml index 99edb3a8..72382ded 100644 --- a/charts/rhdh/values.yaml +++ b/charts/rhdh/values.yaml @@ -573,7 +573,7 @@ lightspeed: image: registry: "quay.io" repository: "lightspeed-core/lightspeed-stack" - tag: "0.5.3" + tag: "0.6.2" digest: "" imagePullPolicy: "IfNotPresent" # -- Override the container's default command. Leave empty to use the image entrypoint. From 699f75bb7830582b56d22efebaec03453e0a03de Mon Sep 17 00:00:00 2001 From: Armel Soro Date: Mon, 24 Aug 2026 17:38:54 +0200 Subject: [PATCH 2/4] Apply suggestion from @rm3l --- charts/backstage/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/backstage/values.yaml b/charts/backstage/values.yaml index 8d1de31f..56f739ca 100644 --- a/charts/backstage/values.yaml +++ b/charts/backstage/values.yaml @@ -162,7 +162,7 @@ global: sidecar: name: lightspeed-core # -- Full image reference for the Lightspeed Core sidecar. Override for disconnected environments. - image: quay.io/lightspeed-core/lightspeed-stack:0.6.2 + image: quay.io/lightspeed-core/lightspeed-stack:0.5.3 imagePullPolicy: IfNotPresent portName: http-lightspeed containerPort: 8080 From fe012d530f804fdd1c0850f590cbeff0d08efdf7 Mon Sep 17 00:00:00 2001 From: RHDH Bot <146280956+rhdh-bot@users.noreply.github.com> Date: Mon, 24 Aug 2026 15:40:06 +0000 Subject: [PATCH 3/4] Bump rhdh version to 1.0.1 Signed-off-by: RHDH Bot <146280956+rhdh-bot@users.noreply.github.com> --- charts/rhdh/Chart.yaml | 2 +- charts/rhdh/README.md | 8 ++++---- charts/rhdh/values.schema.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/charts/rhdh/Chart.yaml b/charts/rhdh/Chart.yaml index 9eec8424..18df0718 100644 --- a/charts/rhdh/Chart.yaml +++ b/charts/rhdh/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: redhat-developer-hub type: application -version: 1.0.0 +version: 1.0.1 appVersion: 2.1.0 annotations: artifacthub.io/category: integration-delivery diff --git a/charts/rhdh/README.md b/charts/rhdh/README.md index 56f1ee87..83361416 100644 --- a/charts/rhdh/README.md +++ b/charts/rhdh/README.md @@ -1,7 +1,7 @@ # RHDH Helm Chart for OpenShift and Kubernetes -![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) +![Version: 1.0.1](https://img.shields.io/badge/Version-1.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) A Helm chart for deploying Red Hat Developer Hub, which is a Red Hat supported version of Backstage. @@ -36,7 +36,7 @@ For the **Generally Available** version of this chart, see: helm repo add bitnami https://charts.bitnami.com/bitnami helm repo add redhat-developer https://redhat-developer.github.io/rhdh-chart -helm install my-rhdh redhat-developer/redhat-developer-hub --version 1.0.0 +helm install my-rhdh redhat-developer/redhat-developer-hub --version 1.0.1 ``` ## Introduction @@ -243,7 +243,7 @@ Kubernetes: `>= 1.31.0-0` | image.digest | Overrides the image tag with an image digest. | string | `""` | | imagePullSecrets | Secrets for pulling images from private registries (merged with global.imagePullSecrets). | list | `[]` | | ingress | Kubernetes Ingress configuration. | object | `{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"{{ .Values.host }}","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]}` | -| lightspeed | Built-in Lightspeed AI feature configuration. | object | `{"config":{"profile":{"existingConfigMap":{"key":"","name":""}},"server":{"existingConfigMap":{"key":"","name":""}},"stack":{"existingConfigMap":{"key":"","name":""}}},"core":{"argsOverride":[],"commandOverride":[],"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"digest":"","registry":"quay.io","repository":"lightspeed-core/lightspeed-stack","tag":"0.5.3"},"imagePullPolicy":"IfNotPresent","resources":{"limits":{"cpu":"1000m","memory":"2Gi"},"requests":{"cpu":"100m","memory":"512Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}},"enabled":true,"existingSecret":"","plugins":[{"enabled":true,"package":"oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-lightspeed:{{ \"{{inherit}}\" }}"},{"enabled":true,"package":"oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-lightspeed-backend:{{ \"{{inherit}}\" }}"}],"ragInit":{"argsOverride":[],"commandOverride":[],"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"digest":"","registry":"quay.io","repository":"redhat-ai-dev/rag-content","tag":"release-1.10-lls-0.5.0-8c231a3b5177f12fff9db042dfa4091d8f2f26b3"},"imagePullPolicy":"IfNotPresent","resources":{"limits":{"cpu":"100m","memory":"500Mi"},"requests":{"cpu":"50m","memory":"150Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}},"runtimeVolume":{"emptyDir":{},"persistentVolumeClaim":{},"type":"emptyDir"}}` | +| lightspeed | Built-in Lightspeed AI feature configuration. | object | `{"config":{"profile":{"existingConfigMap":{"key":"","name":""}},"server":{"existingConfigMap":{"key":"","name":""}},"stack":{"existingConfigMap":{"key":"","name":""}}},"core":{"argsOverride":[],"commandOverride":[],"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"digest":"","registry":"quay.io","repository":"lightspeed-core/lightspeed-stack","tag":"0.6.2"},"imagePullPolicy":"IfNotPresent","resources":{"limits":{"cpu":"1000m","memory":"2Gi"},"requests":{"cpu":"100m","memory":"512Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}},"enabled":true,"existingSecret":"","plugins":[{"enabled":true,"package":"oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-lightspeed:{{ \"{{inherit}}\" }}"},{"enabled":true,"package":"oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-lightspeed-backend:{{ \"{{inherit}}\" }}"}],"ragInit":{"argsOverride":[],"commandOverride":[],"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"digest":"","registry":"quay.io","repository":"redhat-ai-dev/rag-content","tag":"release-1.10-lls-0.5.0-8c231a3b5177f12fff9db042dfa4091d8f2f26b3"},"imagePullPolicy":"IfNotPresent","resources":{"limits":{"cpu":"100m","memory":"500Mi"},"requests":{"cpu":"50m","memory":"150Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}},"runtimeVolume":{"emptyDir":{},"persistentVolumeClaim":{},"type":"emptyDir"}}` | | lightspeed.config | Configuration files mounted into the sidecar. By default, the chart creates ConfigMaps from bundled source files. Set existingConfigMap to use a pre-existing ConfigMap instead. | object | `{"profile":{"existingConfigMap":{"key":"","name":""}},"server":{"existingConfigMap":{"key":"","name":""}},"stack":{"existingConfigMap":{"key":"","name":""}}}` | | lightspeed.config.profile | Python profile with prompt templates (rhdh-profile.py). | object | `{"existingConfigMap":{"key":"","name":""}}` | | lightspeed.config.profile.existingConfigMap | Use an existing ConfigMap instead of the bundled default. | object | Created from bundled rhdh-profile.py | @@ -257,7 +257,7 @@ Kubernetes: `>= 1.31.0-0` | lightspeed.config.stack.existingConfigMap | Use an existing ConfigMap instead of the bundled default. | object | Created from bundled lightspeed-stack.yaml | | lightspeed.config.stack.existingConfigMap.key | Key within the ConfigMap that holds the file content. Defaults to the bundled filename (lightspeed-stack.yaml) if not set. | string | `""` | | lightspeed.config.stack.existingConfigMap.name | Name of the existing ConfigMap. | string | `""` | -| lightspeed.core | Lightspeed Core sidecar container. | object | `{"argsOverride":[],"commandOverride":[],"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"digest":"","registry":"quay.io","repository":"lightspeed-core/lightspeed-stack","tag":"0.5.3"},"imagePullPolicy":"IfNotPresent","resources":{"limits":{"cpu":"1000m","memory":"2Gi"},"requests":{"cpu":"100m","memory":"512Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}}` | +| lightspeed.core | Lightspeed Core sidecar container. | object | `{"argsOverride":[],"commandOverride":[],"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"digest":"","registry":"quay.io","repository":"lightspeed-core/lightspeed-stack","tag":"0.6.2"},"imagePullPolicy":"IfNotPresent","resources":{"limits":{"cpu":"1000m","memory":"2Gi"},"requests":{"cpu":"100m","memory":"512Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}}` | | lightspeed.core.argsOverride | Override the container's default args. Leave empty to use the image defaults. | list | `[]` | | lightspeed.core.commandOverride | Override the container's default command. Leave empty to use the image entrypoint. | list | `[]` | | lightspeed.core.extraArgs | Extra arguments appended after the default arguments. Ignored when argsOverride is set. | list | `[]` | diff --git a/charts/rhdh/values.schema.json b/charts/rhdh/values.schema.json index b8a326d9..0511a87b 100644 --- a/charts/rhdh/values.schema.json +++ b/charts/rhdh/values.schema.json @@ -747,7 +747,7 @@ "digest": "", "registry": "quay.io", "repository": "lightspeed-core/lightspeed-stack", - "tag": "0.5.3" + "tag": "0.6.2" }, "imagePullPolicy": "IfNotPresent", "resources": { From 9beef8ae31e8be2052f9ae438dc71b755352210a Mon Sep 17 00:00:00 2001 From: Armel Soro Date: Tue, 25 Aug 2026 23:52:21 +0200 Subject: [PATCH 4/4] fix(ci): reduce resource pressure on KIND node during upgrade tests Use Recreate deployment strategy for RHDH chart tests to avoid running two pods simultaneously during upgrades, and unset resource limits on the external PostgreSQL so it is less likely to be evicted. --- .github/actions/test-charts/action.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/actions/test-charts/action.yml b/.github/actions/test-charts/action.yml index 99385dab..2b1adc25 100644 --- a/.github/actions/test-charts/action.yml +++ b/.github/actions/test-charts/action.yml @@ -225,6 +225,7 @@ runs: --set primary.containerSecurityContext.enabled=false \ --set primary.extraEnvVars[0].name=POSTGRESQL_ADMIN_PASSWORD \ --set primary.extraEnvVars[0].value=testpassword \ + --set primary.resourcesPreset=none \ --wait --timeout 300s # ── Fixed test namespace (ct-charts) ── @@ -310,6 +311,10 @@ runs: "--set postgresql.primary.persistence.enabled=false" "--set postgresql.primary.resources.limits.ephemeral-storage=200Mi" "--set podSecurityContext.fsGroup=1001" + # Use Recreate strategy to avoid running two RHDH pods simultaneously + # during upgrade tests, which can exhaust the single KIND node's + # resources and starve the database. + "--set strategy.type=Recreate" ) fi if [[ -n "$INPUT_EXTRA_HELM_ARGS" ]]; then