From a3e84391d0b4c1c4b1d2ecb8ffcb0544c3625f58 Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 10 Jul 2025 12:03:48 +0100 Subject: [PATCH 01/14] Fix: Avoid Helm Conflict When User Creates Custom .npmrc Secret Signed-off-by: Fortune-Ndlovu --- .../templates/dynamic-plugins-configmap.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/charts/backstage/templates/dynamic-plugins-configmap.yaml b/charts/backstage/templates/dynamic-plugins-configmap.yaml index a8af0614..34db68d7 100644 --- a/charts/backstage/templates/dynamic-plugins-configmap.yaml +++ b/charts/backstage/templates/dynamic-plugins-configmap.yaml @@ -21,16 +21,24 @@ data: {{- $_ := set $dynamic "plugins" $plugins }} {{- include "common.tplvalues.render" (dict "value" $dynamic "context" $) | nindent 4 }} - --- {{- if .Values.orchestrator.enabled }} + {{- $secretName := printf "%s-dynamic-plugins-npmrc" .Release.Name }} + {{- $existingSecret := lookup "v1" "Secret" .Release.Namespace $secretName }} + {{- if not $existingSecret }} apiVersion: v1 kind: Secret metadata: - name: {{ .Release.Name}}-dynamic-plugins-npmrc + name: {{ $secretName }} namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/managed-by: "Helm" + annotations: + meta.helm.sh/release-name: {{ .Release.Name }} + meta.helm.sh/release-namespace: {{ .Release.Namespace }} type: Opaque stringData: .npmrc: | @redhat:registry=https://npm.registry.redhat.com -{{- end }} \ No newline at end of file + {{- end }} +{{- end }} From 15adcc33bfa1d980e79a5dacf57d443e3b619bd8 Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 10 Jul 2025 12:14:02 +0100 Subject: [PATCH 02/14] bump chart Signed-off-by: Fortune-Ndlovu --- charts/backstage/Chart.yaml | 2 +- charts/backstage/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/backstage/Chart.yaml b/charts/backstage/Chart.yaml index 41449657..4bbcd6b6 100644 --- a/charts/backstage/Chart.yaml +++ b/charts/backstage/Chart.yaml @@ -47,4 +47,4 @@ sources: [] # Versions are expected to follow Semantic Versioning (https://semver.org/) # Note that when this chart is published to https://github.com/openshift-helm-charts/charts # it will follow the RHDH versioning 1.y.z -version: 4.4.0 +version: 4.5.0 diff --git a/charts/backstage/README.md b/charts/backstage/README.md index c8c47096..5cbf51fa 100644 --- a/charts/backstage/README.md +++ b/charts/backstage/README.md @@ -1,7 +1,7 @@ # RHDH Backstage Helm Chart for OpenShift -![Version: 4.4.0](https://img.shields.io/badge/Version-4.4.0-informational?style=flat-square) +![Version: 4.5.0](https://img.shields.io/badge/Version-4.5.0-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. From 95b40e0e14cc12a1b7b4d8c470823b0736312d00 Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 10 Jul 2025 16:25:24 +0100 Subject: [PATCH 03/14] Updated to always render the .npmrc Secret when orchestrator.enabled=true Signed-off-by: Fortune-Ndlovu --- charts/backstage/Chart.yaml | 2 +- charts/backstage/README.md | 2 +- .../templates/dynamic-plugins-configmap.yaml | 14 ++++---------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/charts/backstage/Chart.yaml b/charts/backstage/Chart.yaml index 4bbcd6b6..04f6eaaf 100644 --- a/charts/backstage/Chart.yaml +++ b/charts/backstage/Chart.yaml @@ -47,4 +47,4 @@ sources: [] # Versions are expected to follow Semantic Versioning (https://semver.org/) # Note that when this chart is published to https://github.com/openshift-helm-charts/charts # it will follow the RHDH versioning 1.y.z -version: 4.5.0 +version: 4.4.1 diff --git a/charts/backstage/README.md b/charts/backstage/README.md index 5cbf51fa..63ac12bf 100644 --- a/charts/backstage/README.md +++ b/charts/backstage/README.md @@ -1,7 +1,7 @@ # RHDH Backstage Helm Chart for OpenShift -![Version: 4.5.0](https://img.shields.io/badge/Version-4.5.0-informational?style=flat-square) +![Version: 4.4.1](https://img.shields.io/badge/Version-4.4.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. diff --git a/charts/backstage/templates/dynamic-plugins-configmap.yaml b/charts/backstage/templates/dynamic-plugins-configmap.yaml index 34db68d7..7b6326e0 100644 --- a/charts/backstage/templates/dynamic-plugins-configmap.yaml +++ b/charts/backstage/templates/dynamic-plugins-configmap.yaml @@ -23,22 +23,16 @@ data: {{- include "common.tplvalues.render" (dict "value" $dynamic "context" $) | nindent 4 }} --- {{- if .Values.orchestrator.enabled }} - {{- $secretName := printf "%s-dynamic-plugins-npmrc" .Release.Name }} - {{- $existingSecret := lookup "v1" "Secret" .Release.Namespace $secretName }} - {{- if not $existingSecret }} apiVersion: v1 kind: Secret metadata: - name: {{ $secretName }} + name: {{ printf "%s-dynamic-plugins-npmrc" .Release.Name }} namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/managed-by: "Helm" - annotations: - meta.helm.sh/release-name: {{ .Release.Name }} - meta.helm.sh/release-namespace: {{ .Release.Namespace }} type: Opaque stringData: .npmrc: | + {{- if .Values.global.dynamic.npmrc.userConfig }} + {{- .Values.global.dynamic.npmrc.userConfig | nindent 4 }} + {{- end }} @redhat:registry=https://npm.registry.redhat.com - {{- end }} {{- end }} From 02b2d0117eaaf5cea8b0bc13f30a68d79e10beff Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 10 Jul 2025 16:40:43 +0100 Subject: [PATCH 04/14] Updated extra Signed-off-by: Fortune-Ndlovu --- charts/backstage/templates/dynamic-plugins-configmap.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/charts/backstage/templates/dynamic-plugins-configmap.yaml b/charts/backstage/templates/dynamic-plugins-configmap.yaml index 7b6326e0..7b0a7511 100644 --- a/charts/backstage/templates/dynamic-plugins-configmap.yaml +++ b/charts/backstage/templates/dynamic-plugins-configmap.yaml @@ -31,8 +31,10 @@ metadata: type: Opaque stringData: .npmrc: | - {{- if .Values.global.dynamic.npmrc.userConfig }} - {{- .Values.global.dynamic.npmrc.userConfig | nindent 4 }} + {{- if and .Values.global.dynamic .Values.global.dynamic.npmrc }} + {{- if .Values.global.dynamic.npmrc.userConfig }} +{{ .Values.global.dynamic.npmrc.extra | nindent 6 }} + {{- end }} {{- end }} @redhat:registry=https://npm.registry.redhat.com {{- end }} From 262dd65d4a6b84c181233b2e6893e670a491abaa Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 10 Jul 2025 16:48:00 +0100 Subject: [PATCH 05/14] Updated extra Signed-off-by: Fortune-Ndlovu --- charts/backstage/templates/dynamic-plugins-configmap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/backstage/templates/dynamic-plugins-configmap.yaml b/charts/backstage/templates/dynamic-plugins-configmap.yaml index 7b0a7511..91f31090 100644 --- a/charts/backstage/templates/dynamic-plugins-configmap.yaml +++ b/charts/backstage/templates/dynamic-plugins-configmap.yaml @@ -32,7 +32,7 @@ type: Opaque stringData: .npmrc: | {{- if and .Values.global.dynamic .Values.global.dynamic.npmrc }} - {{- if .Values.global.dynamic.npmrc.userConfig }} + {{- if .Values.global.dynamic.npmrc.extra }} {{ .Values.global.dynamic.npmrc.extra | nindent 6 }} {{- end }} {{- end }} From f5bc2ca4e339e2d239d48e31307e67026ece8d0b Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Fri, 11 Jul 2025 10:33:41 +0100 Subject: [PATCH 06/14] remove helm secret block Signed-off-by: Fortune-Ndlovu --- .../templates/dynamic-plugins-configmap.yaml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/charts/backstage/templates/dynamic-plugins-configmap.yaml b/charts/backstage/templates/dynamic-plugins-configmap.yaml index 91f31090..27547a95 100644 --- a/charts/backstage/templates/dynamic-plugins-configmap.yaml +++ b/charts/backstage/templates/dynamic-plugins-configmap.yaml @@ -21,20 +21,3 @@ data: {{- $_ := set $dynamic "plugins" $plugins }} {{- include "common.tplvalues.render" (dict "value" $dynamic "context" $) | nindent 4 }} ---- -{{- if .Values.orchestrator.enabled }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ printf "%s-dynamic-plugins-npmrc" .Release.Name }} - namespace: {{ .Release.Namespace }} -type: Opaque -stringData: - .npmrc: | - {{- if and .Values.global.dynamic .Values.global.dynamic.npmrc }} - {{- if .Values.global.dynamic.npmrc.extra }} -{{ .Values.global.dynamic.npmrc.extra | nindent 6 }} - {{- end }} - {{- end }} - @redhat:registry=https://npm.registry.redhat.com -{{- end }} From aa8d0c5864e0b556285ecf0d9c1ee5ce78bf81c9 Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Wed, 16 Jul 2025 10:28:25 +0100 Subject: [PATCH 07/14] revert Signed-off-by: Fortune-Ndlovu --- .../templates/dynamic-plugins-configmap.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/charts/backstage/templates/dynamic-plugins-configmap.yaml b/charts/backstage/templates/dynamic-plugins-configmap.yaml index 27547a95..fb96af45 100644 --- a/charts/backstage/templates/dynamic-plugins-configmap.yaml +++ b/charts/backstage/templates/dynamic-plugins-configmap.yaml @@ -21,3 +21,16 @@ data: {{- $_ := set $dynamic "plugins" $plugins }} {{- include "common.tplvalues.render" (dict "value" $dynamic "context" $) | nindent 4 }} + +--- +{{- if .Values.orchestrator.enabled }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name}}-dynamic-plugins-npmrc + namespace: {{ .Release.Namespace }} +type: Opaque +stringData: + .npmrc: | + @redhat:registry=https://npm.registry.redhat.com +{{- end }} From f73028879c10c35cb7370765fda278fea86298ed Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 17 Jul 2025 10:10:10 +0100 Subject: [PATCH 08/14] Telling Helms configmap and initcontainer to fetch the plugin from the direct http tarball url instead of npm registry. Signed-off-by: Fortune-Ndlovu --- charts/backstage/README.md | 2 +- charts/backstage/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/backstage/README.md b/charts/backstage/README.md index 63ac12bf..81367a1b 100644 --- a/charts/backstage/README.md +++ b/charts/backstage/README.md @@ -175,7 +175,7 @@ Kubernetes: `>= 1.27.0-0` | global.clusterRouterBase | Shorthand for users who do not want to specify a custom HOSTNAME. Used ONLY with the DEFAULT upstream.backstage.appConfig value and with OCP Route enabled. | string | `"apps.example.com"` | | global.dynamic.includes | Array of YAML files listing dynamic plugins to include with those listed in the `plugins` field. Relative paths are resolved from the working directory of the initContainer that will install the plugins (`/opt/app-root/src`). | list | `["dynamic-plugins.default.yaml"]` | | global.dynamic.includes[0] | List of dynamic plugins included inside the `janus-idp/backstage-showcase` container image, some of which are disabled by default. This file ONLY works with the `janus-idp/backstage-showcase` container image. | string | `"dynamic-plugins.default.yaml"` | -| global.dynamic.plugins | List of dynamic plugins, possibly overriding the plugins listed in `includes` files. Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). | list | `[]` | +| global.dynamic.plugins | List of dynamic plugins, possibly overriding the plugins listed in `includes` files. Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). | string | `"https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz"` | | global.host | Custom hostname shorthand, overrides `global.clusterRouterBase`, `upstream.ingress.host`, `route.host`, and url values in `upstream.backstage.appConfig`. | string | `""` | | nameOverride | | string | `"developer-hub"` | | orchestrator.enabled | | bool | `false` | diff --git a/charts/backstage/values.yaml b/charts/backstage/values.yaml index 0088345c..7c5f509f 100644 --- a/charts/backstage/values.yaml +++ b/charts/backstage/values.yaml @@ -12,7 +12,7 @@ global: # Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), # an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin # listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). - plugins: [] + plugins: "https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz" # -- Shorthand for users who do not want to specify a custom HOSTNAME. Used ONLY with the DEFAULT upstream.backstage.appConfig value and with OCP Route enabled. clusterRouterBase: "apps.example.com" From 01812167861f351a01eccce33c88ea5b43dd03f7 Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 17 Jul 2025 10:20:06 +0100 Subject: [PATCH 09/14] fix schema Signed-off-by: Fortune-Ndlovu --- charts/backstage/README.md | 2 +- charts/backstage/values.yaml | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/charts/backstage/README.md b/charts/backstage/README.md index 81367a1b..7048da93 100644 --- a/charts/backstage/README.md +++ b/charts/backstage/README.md @@ -175,7 +175,7 @@ Kubernetes: `>= 1.27.0-0` | global.clusterRouterBase | Shorthand for users who do not want to specify a custom HOSTNAME. Used ONLY with the DEFAULT upstream.backstage.appConfig value and with OCP Route enabled. | string | `"apps.example.com"` | | global.dynamic.includes | Array of YAML files listing dynamic plugins to include with those listed in the `plugins` field. Relative paths are resolved from the working directory of the initContainer that will install the plugins (`/opt/app-root/src`). | list | `["dynamic-plugins.default.yaml"]` | | global.dynamic.includes[0] | List of dynamic plugins included inside the `janus-idp/backstage-showcase` container image, some of which are disabled by default. This file ONLY works with the `janus-idp/backstage-showcase` container image. | string | `"dynamic-plugins.default.yaml"` | -| global.dynamic.plugins | List of dynamic plugins, possibly overriding the plugins listed in `includes` files. Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). | string | `"https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz"` | +| global.dynamic.plugins | List of dynamic plugins, possibly overriding the plugins listed in `includes` files. Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). | list | `[{"disable":false,"package":"https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz"}]` | | global.host | Custom hostname shorthand, overrides `global.clusterRouterBase`, `upstream.ingress.host`, `route.host`, and url values in `upstream.backstage.appConfig`. | string | `""` | | nameOverride | | string | `"developer-hub"` | | orchestrator.enabled | | bool | `false` | diff --git a/charts/backstage/values.yaml b/charts/backstage/values.yaml index 7c5f509f..28d364da 100644 --- a/charts/backstage/values.yaml +++ b/charts/backstage/values.yaml @@ -12,8 +12,9 @@ global: # Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), # an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin # listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). - plugins: "https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz" - + plugins: + - package: "https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz" + disable: false # -- Shorthand for users who do not want to specify a custom HOSTNAME. Used ONLY with the DEFAULT upstream.backstage.appConfig value and with OCP Route enabled. clusterRouterBase: "apps.example.com" # -- Custom hostname shorthand, overrides `global.clusterRouterBase`, `upstream.ingress.host`, `route.host`, and url values in `upstream.backstage.appConfig`. From d1682639981a2db9435b8b3de9261a495da8107c Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 17 Jul 2025 11:03:34 +0100 Subject: [PATCH 10/14] update _partials.tpl which is a template for orchestrator.plugins that injects the orchestrator plugiins dynamicallly wheneerv orchestrator.enabled=true Signed-off-by: Fortune-Ndlovu --- charts/backstage/README.md | 2 +- charts/backstage/templates/_partials.tpl | 2 +- charts/backstage/values.yaml | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/charts/backstage/README.md b/charts/backstage/README.md index 7048da93..63ac12bf 100644 --- a/charts/backstage/README.md +++ b/charts/backstage/README.md @@ -175,7 +175,7 @@ Kubernetes: `>= 1.27.0-0` | global.clusterRouterBase | Shorthand for users who do not want to specify a custom HOSTNAME. Used ONLY with the DEFAULT upstream.backstage.appConfig value and with OCP Route enabled. | string | `"apps.example.com"` | | global.dynamic.includes | Array of YAML files listing dynamic plugins to include with those listed in the `plugins` field. Relative paths are resolved from the working directory of the initContainer that will install the plugins (`/opt/app-root/src`). | list | `["dynamic-plugins.default.yaml"]` | | global.dynamic.includes[0] | List of dynamic plugins included inside the `janus-idp/backstage-showcase` container image, some of which are disabled by default. This file ONLY works with the `janus-idp/backstage-showcase` container image. | string | `"dynamic-plugins.default.yaml"` | -| global.dynamic.plugins | List of dynamic plugins, possibly overriding the plugins listed in `includes` files. Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). | list | `[{"disable":false,"package":"https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz"}]` | +| global.dynamic.plugins | List of dynamic plugins, possibly overriding the plugins listed in `includes` files. Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). | list | `[]` | | global.host | Custom hostname shorthand, overrides `global.clusterRouterBase`, `upstream.ingress.host`, `route.host`, and url values in `upstream.backstage.appConfig`. | string | `""` | | nameOverride | | string | `"developer-hub"` | | orchestrator.enabled | | bool | `false` | diff --git a/charts/backstage/templates/_partials.tpl b/charts/backstage/templates/_partials.tpl index dc3d91e0..194c2d87 100644 --- a/charts/backstage/templates/_partials.tpl +++ b/charts/backstage/templates/_partials.tpl @@ -46,7 +46,7 @@ orchestratorPlugins: package: "backstage-plugin-orchestrator@1.6.0" integrity: sha512-fOSJv2PgtD2urKwBM7p9W6gV/0UIHSf4pkZ9V/wQO0eg0Zi5Mys/CL1ba3nO9x9l84MX11UBZ2r7PPVJPrmOtw== orchestratorBackend: - package: "backstage-plugin-orchestrator-backend-dynamic@1.6.0" + package: "https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz" integrity: sha512-Kr55YbuVwEADwGef9o9wyimcgHmiwehPeAtVHa9g2RQYoSPEa6BeOlaPzB6W5Ke3M2bN/0j0XXtpLuvrlXQogA== scaffolderBackendOrchestrator: package: "backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.6.0" diff --git a/charts/backstage/values.yaml b/charts/backstage/values.yaml index 28d364da..0088345c 100644 --- a/charts/backstage/values.yaml +++ b/charts/backstage/values.yaml @@ -12,9 +12,8 @@ global: # Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), # an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin # listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). - plugins: - - package: "https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz" - disable: false + plugins: [] + # -- Shorthand for users who do not want to specify a custom HOSTNAME. Used ONLY with the DEFAULT upstream.backstage.appConfig value and with OCP Route enabled. clusterRouterBase: "apps.example.com" # -- Custom hostname shorthand, overrides `global.clusterRouterBase`, `upstream.ingress.host`, `route.host`, and url values in `upstream.backstage.appConfig`. From 4c40ce204ed6b8547b0ca010cc681ddb94b6fc97 Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 17 Jul 2025 11:13:00 +0100 Subject: [PATCH 11/14] update we no longer need a .npmrc to map the @redhat scope to Red Hat registry. Signed-off-by: Fortune-Ndlovu --- .../templates/dynamic-plugins-configmap.yaml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/charts/backstage/templates/dynamic-plugins-configmap.yaml b/charts/backstage/templates/dynamic-plugins-configmap.yaml index fb96af45..27547a95 100644 --- a/charts/backstage/templates/dynamic-plugins-configmap.yaml +++ b/charts/backstage/templates/dynamic-plugins-configmap.yaml @@ -21,16 +21,3 @@ data: {{- $_ := set $dynamic "plugins" $plugins }} {{- include "common.tplvalues.render" (dict "value" $dynamic "context" $) | nindent 4 }} - ---- -{{- if .Values.orchestrator.enabled }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Release.Name}}-dynamic-plugins-npmrc - namespace: {{ .Release.Namespace }} -type: Opaque -stringData: - .npmrc: | - @redhat:registry=https://npm.registry.redhat.com -{{- end }} From dd49a8c48fc69a75bc2ce159fb7bedad59917f5f Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 17 Jul 2025 11:37:04 +0100 Subject: [PATCH 12/14] fix invalid package name Signed-off-by: Fortune-Ndlovu --- charts/backstage/templates/_partials.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/backstage/templates/_partials.tpl b/charts/backstage/templates/_partials.tpl index 194c2d87..a9d8192a 100644 --- a/charts/backstage/templates/_partials.tpl +++ b/charts/backstage/templates/_partials.tpl @@ -2,7 +2,7 @@ {{- $config := include "orchestrator.plugins.config" . | fromYaml }} plugins: - disabled: false - package: "{{ $config.orchestratorPlugins.scope }}/{{ $config.orchestratorPlugins.orchestratorBackend.package }}" + package: "{{ $config.orchestratorPlugins.orchestratorBackend.package }}" integrity: "{{ $config.orchestratorPlugins.orchestratorBackend.integrity }}" pluginConfig: orchestrator: From 28a7b0bb4d4a7d39654cb54c66f275feac8c99a4 Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 17 Jul 2025 12:00:49 +0100 Subject: [PATCH 13/14] update all Signed-off-by: Fortune-Ndlovu --- charts/backstage/templates/_partials.tpl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/backstage/templates/_partials.tpl b/charts/backstage/templates/_partials.tpl index a9d8192a..237277f4 100644 --- a/charts/backstage/templates/_partials.tpl +++ b/charts/backstage/templates/_partials.tpl @@ -43,15 +43,15 @@ plugins: orchestratorPlugins: scope: "@redhat" orchestrator: - package: "backstage-plugin-orchestrator@1.6.0" + package: "https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator/-/backstage-plugin-orchestrator-1.6.0.tgz" integrity: sha512-fOSJv2PgtD2urKwBM7p9W6gV/0UIHSf4pkZ9V/wQO0eg0Zi5Mys/CL1ba3nO9x9l84MX11UBZ2r7PPVJPrmOtw== orchestratorBackend: package: "https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.6.0.tgz" integrity: sha512-Kr55YbuVwEADwGef9o9wyimcgHmiwehPeAtVHa9g2RQYoSPEa6BeOlaPzB6W5Ke3M2bN/0j0XXtpLuvrlXQogA== scaffolderBackendOrchestrator: - package: "backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.6.0" + package: "https://npm.registry.redhat.com/@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic/-/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic-1.6.0.tgz" integrity: sha512-Bueeix4661fXEnfJ9y31Yw91LXJgw6hJUG7lPVdESCi9VwBCjDB9Rm8u2yPqP8sriwr0OMtKtqD+Odn3LOPyVw== orchestratorFormWidgets: - package: "backstage-plugin-orchestrator-form-widgets@1.6.0" + package: "https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-form-widgets/-/backstage-plugin-orchestrator-form-widgets-1.6.0.tgz" integrity: sha512-Tqn6HO21Q1TQ7TFUoRhwBVCtSBzbQYz+OaanzzIB0R24O6YtVx3wR7Chtr5TzC05Vz5GkBO1+FZid8BKpqljgA== {{- end }} \ No newline at end of file From 71b0d2f0d93d83944c9841b00c71f44449a74c0a Mon Sep 17 00:00:00 2001 From: Fortune-Ndlovu Date: Thu, 17 Jul 2025 12:04:47 +0100 Subject: [PATCH 14/14] update package name Signed-off-by: Fortune-Ndlovu --- charts/backstage/templates/_partials.tpl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/backstage/templates/_partials.tpl b/charts/backstage/templates/_partials.tpl index 237277f4..c03526e2 100644 --- a/charts/backstage/templates/_partials.tpl +++ b/charts/backstage/templates/_partials.tpl @@ -9,7 +9,7 @@ plugins: dataIndexService: url: http://sonataflow-platform-data-index-service.{{ .Release.Namespace }} - disabled: false - package: "{{ $config.orchestratorPlugins.scope }}/{{ $config.orchestratorPlugins.orchestrator.package }}" + package: "{{ $config.orchestratorPlugins.orchestrator.package }}" integrity: "{{ $config.orchestratorPlugins.orchestrator.integrity }}" pluginConfig: dynamicPlugins: @@ -25,14 +25,14 @@ plugins: text: Orchestrator path: /orchestrator - disabled: false - package: "{{ $config.orchestratorPlugins.scope }}/{{ $config.orchestratorPlugins.scaffolderBackendOrchestrator.package }}" + package: "{{ $config.orchestratorPlugins.scaffolderBackendOrchestrator.package }}" integrity: "{{ $config.orchestratorPlugins.scaffolderBackendOrchestrator.integrity }}" pluginConfig: orchestrator: dataIndexService: url: http://sonataflow-platform-data-index-service.{{ .Release.Namespace }} - disabled: false - package: "{{ $config.orchestratorPlugins.scope }}/{{ $config.orchestratorPlugins.orchestratorFormWidgets.package }}" + package: "{{ $config.orchestratorPlugins.orchestratorFormWidgets.package }}" integrity: "{{ $config.orchestratorPlugins.orchestratorFormWidgets.integrity }}" pluginConfig: dynamicPlugins: