Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ metadata:
categories: Developer Tools
certified: "true"
containerImage: registry.redhat.io/rhdh/rhdh-rhel9-operator:1.9
createdAt: "2026-01-08T11:05:00Z"
createdAt: "2026-01-09T20:08:15Z"
description: Red Hat Developer Hub is a Red Hat supported version of Backstage.
It comes with pre-built plug-ins and configuration settings, supports use of
an external database, and can help streamline the process of setting up a self-managed
Expand Down
12 changes: 12 additions & 0 deletions bundle/rhdh/manifests/rhdh-default-config_v1_configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,8 @@ data:
defaultMode: 416
optional: true
secretName: dynamic-plugins-registry-auth
- name: extensions-catalog
emptyDir: {}
- emptyDir: {}
name: npmcacache
- name: temp
Expand Down Expand Up @@ -245,9 +247,13 @@ data:
# CATALOG_INDEX_IMAGE will be replaced by the value of the `RELATED_IMAGE_catalog_index` env var, if set
- name: CATALOG_INDEX_IMAGE
value: "quay.io/rhdh/plugin-catalog-index:1.9"
- name: CATALOG_ENTITIES_EXTRACT_DIR
value: '/extensions'
volumeMounts:
- mountPath: /dynamic-plugins-root
name: dynamic-plugins-root
- name: extensions-catalog
mountPath: /extensions
# TODO Configuring dynamic plugins registry auth this way is deprecated and supported only for documentation backward compatibility.
- mountPath: /opt/app-root/src/.config/containers
name: dynamic-plugins-registry-auth
Expand Down Expand Up @@ -331,6 +337,12 @@ data:
volumeMounts:
- mountPath: /opt/app-root/src/dynamic-plugins-root
name: dynamic-plugins-root
- name: extensions-catalog
mountPath: /extensions
- name: extensions-catalog
# TODO(asoro): legacy path for backward compatibility. Will be removed in a near future.
mountPath: /marketplace
readOnly: true
- mountPath: /tmp
name: temp
resources:
Expand Down
12 changes: 12 additions & 0 deletions config/profile/rhdh/default-config/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ spec:
defaultMode: 416
optional: true
secretName: dynamic-plugins-registry-auth
- name: extensions-catalog
emptyDir: {}
- emptyDir: {}
name: npmcacache
- name: temp
Expand Down Expand Up @@ -69,9 +71,13 @@ spec:
# CATALOG_INDEX_IMAGE will be replaced by the value of the `RELATED_IMAGE_catalog_index` env var, if set
- name: CATALOG_INDEX_IMAGE
value: "quay.io/rhdh/plugin-catalog-index:1.9"
- name: CATALOG_ENTITIES_EXTRACT_DIR
value: '/extensions'
volumeMounts:
- mountPath: /dynamic-plugins-root
name: dynamic-plugins-root
- name: extensions-catalog
mountPath: /extensions
# TODO Configuring dynamic plugins registry auth this way is deprecated and supported only for documentation backward compatibility.
- mountPath: /opt/app-root/src/.config/containers
name: dynamic-plugins-registry-auth
Expand Down Expand Up @@ -155,6 +161,12 @@ spec:
volumeMounts:
- mountPath: /opt/app-root/src/dynamic-plugins-root
name: dynamic-plugins-root
- name: extensions-catalog
mountPath: /extensions
- name: extensions-catalog
# TODO(asoro): legacy path for backward compatibility. Will be removed in a near future.
mountPath: /marketplace
readOnly: true
Comment on lines +166 to +169
Copy link
Member Author

@rm3l rm3l Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might need to be removed when redhat-developer/rhdh-plugins#2006 is merged and a new catalog index image is built. or we can still keep it for now for backward compatibility.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good for tracking, and I wonder if we should consider adding a reference jira to when it should be removed is this the issue RHDHPLAN-878?

- mountPath: /tmp
name: temp
resources:
Expand Down
12 changes: 12 additions & 0 deletions dist/rhdh/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2068,6 +2068,8 @@ data:
defaultMode: 416
optional: true
secretName: dynamic-plugins-registry-auth
- name: extensions-catalog
emptyDir: {}
- emptyDir: {}
name: npmcacache
- name: temp
Expand Down Expand Up @@ -2097,9 +2099,13 @@ data:
# CATALOG_INDEX_IMAGE will be replaced by the value of the `RELATED_IMAGE_catalog_index` env var, if set
- name: CATALOG_INDEX_IMAGE
value: "quay.io/rhdh/plugin-catalog-index:1.9"
- name: CATALOG_ENTITIES_EXTRACT_DIR
value: '/extensions'
volumeMounts:
- mountPath: /dynamic-plugins-root
name: dynamic-plugins-root
- name: extensions-catalog
mountPath: /extensions
# TODO Configuring dynamic plugins registry auth this way is deprecated and supported only for documentation backward compatibility.
- mountPath: /opt/app-root/src/.config/containers
name: dynamic-plugins-registry-auth
Expand Down Expand Up @@ -2183,6 +2189,12 @@ data:
volumeMounts:
- mountPath: /opt/app-root/src/dynamic-plugins-root
name: dynamic-plugins-root
- name: extensions-catalog
mountPath: /extensions
- name: extensions-catalog
# TODO(asoro): legacy path for backward compatibility. Will be removed in a near future.
mountPath: /marketplace
readOnly: true
- mountPath: /tmp
name: temp
resources:
Expand Down
13 changes: 12 additions & 1 deletion integration_tests/rhdh-config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ var _ = When("create default rhdh", func() {
MountPath: "/opt/app-root/src/dynamic-plugins.yaml",
SubPath: "dynamic-plugins.yaml",
},
{
Name: "extensions-catalog",
MountPath: "/extensions",
},
{
Name: "temp",
MountPath: "/tmp",
Expand All @@ -106,7 +110,7 @@ var _ = When("create default rhdh", func() {
g.Expect(initCont.Env[0].Name).To(Equal("NPM_CONFIG_USERCONFIG"))
g.Expect(initCont.Env[0].Value).To(Equal("/opt/app-root/src/.npmrc.dynamic-plugins/.npmrc"))

g.Expect(deploy.PodSpec().Volumes).To(HaveLen(7))
g.Expect(deploy.PodSpec().Volumes).To(HaveLen(8))
g.Expect(deploy.PodSpec().Containers).To(HaveLen(1))
mainCont := backstageContainer(*deploy.PodSpec())
g.Expect(mainCont.Args).To(HaveLen(4))
Expand All @@ -124,6 +128,13 @@ var _ = When("create default rhdh", func() {
MountPath: "/opt/app-root/src/default.app-config.yaml",
SubPath: "default.app-config.yaml",
},
{
MountPath: "/extensions",
},
{
MountPath: "/marketplace",
ReadOnly: true,
},
{
MountPath: "/tmp",
SubPath: "",
Expand Down
1 change: 0 additions & 1 deletion pkg/model/dynamic-plugins_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,6 @@ func initContainer(model *BackstageModel) *corev1.Container {
return nil
}


// TestCatalogIndexImageFromDefaultConfig verifies that the operator sets CATALOG_INDEX_IMAGE
// on the install-dynamic-plugins init container from the default config by default
func TestCatalogIndexImageFromDefaultConfig(t *testing.T) {
Expand Down