Skip to content

Commit dadb1b8

Browse files
rm3lgazarenkov
andcommitted
fix: add volume for extension catalog entities in 1.9+ [RHIDP-11292]
Co-authored-by: Gennady Azarenkov <[email protected]>
1 parent 82bd70f commit dadb1b8

File tree

7 files changed

+34
-4
lines changed

7 files changed

+34
-4
lines changed

bundle/backstage.io/manifests/backstage-operator.clusterserviceversion.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ metadata:
3535
}
3636
}
3737
]
38-
createdAt: "2026-01-08T11:04:59Z"
38+
createdAt: "2026-01-14T10:07:45Z"
3939
description: Backstage Operator
4040
operators.operatorframework.io/builder: operator-sdk-v1.37.0
4141
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4

bundle/rhdh/manifests/backstage-operator.clusterserviceversion.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ metadata:
3939
categories: Developer Tools
4040
certified: "true"
4141
containerImage: registry.redhat.io/rhdh/rhdh-rhel9-operator:1.9
42-
createdAt: "2026-01-08T11:05:00Z"
42+
createdAt: "2026-01-14T10:07:47Z"
4343
description: Red Hat Developer Hub is a Red Hat supported version of Backstage.
4444
It comes with pre-built plug-ins and configuration settings, supports use of
4545
an external database, and can help streamline the process of setting up a self-managed

bundle/rhdh/manifests/rhdh-default-config_v1_configmap.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@ data:
216216
defaultMode: 416
217217
optional: true
218218
secretName: dynamic-plugins-registry-auth
219+
- name: extensions-catalog
220+
emptyDir: {}
219221
- emptyDir: {}
220222
name: npmcacache
221223
- name: temp
@@ -245,9 +247,13 @@ data:
245247
# CATALOG_INDEX_IMAGE will be replaced by the value of the `RELATED_IMAGE_catalog_index` env var, if set
246248
- name: CATALOG_INDEX_IMAGE
247249
value: "quay.io/rhdh/plugin-catalog-index:1.9"
250+
- name: CATALOG_ENTITIES_EXTRACT_DIR
251+
value: '/extensions'
248252
volumeMounts:
249253
- mountPath: /dynamic-plugins-root
250254
name: dynamic-plugins-root
255+
- name: extensions-catalog
256+
mountPath: /extensions
251257
# TODO Configuring dynamic plugins registry auth this way is deprecated and supported only for documentation backward compatibility.
252258
- mountPath: /opt/app-root/src/.config/containers
253259
name: dynamic-plugins-registry-auth
@@ -331,6 +337,8 @@ data:
331337
volumeMounts:
332338
- mountPath: /opt/app-root/src/dynamic-plugins-root
333339
name: dynamic-plugins-root
340+
- name: extensions-catalog
341+
mountPath: /extensions
334342
- mountPath: /tmp
335343
name: temp
336344
resources:

config/profile/rhdh/default-config/deployment.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ spec:
4040
defaultMode: 416
4141
optional: true
4242
secretName: dynamic-plugins-registry-auth
43+
- name: extensions-catalog
44+
emptyDir: {}
4345
- emptyDir: {}
4446
name: npmcacache
4547
- name: temp
@@ -69,9 +71,13 @@ spec:
6971
# CATALOG_INDEX_IMAGE will be replaced by the value of the `RELATED_IMAGE_catalog_index` env var, if set
7072
- name: CATALOG_INDEX_IMAGE
7173
value: "quay.io/rhdh/plugin-catalog-index:1.9"
74+
- name: CATALOG_ENTITIES_EXTRACT_DIR
75+
value: '/extensions'
7276
volumeMounts:
7377
- mountPath: /dynamic-plugins-root
7478
name: dynamic-plugins-root
79+
- name: extensions-catalog
80+
mountPath: /extensions
7581
# TODO Configuring dynamic plugins registry auth this way is deprecated and supported only for documentation backward compatibility.
7682
- mountPath: /opt/app-root/src/.config/containers
7783
name: dynamic-plugins-registry-auth
@@ -155,6 +161,8 @@ spec:
155161
volumeMounts:
156162
- mountPath: /opt/app-root/src/dynamic-plugins-root
157163
name: dynamic-plugins-root
164+
- name: extensions-catalog
165+
mountPath: /extensions
158166
- mountPath: /tmp
159167
name: temp
160168
resources:

dist/rhdh/install.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2068,6 +2068,8 @@ data:
20682068
defaultMode: 416
20692069
optional: true
20702070
secretName: dynamic-plugins-registry-auth
2071+
- name: extensions-catalog
2072+
emptyDir: {}
20712073
- emptyDir: {}
20722074
name: npmcacache
20732075
- name: temp
@@ -2097,9 +2099,13 @@ data:
20972099
# CATALOG_INDEX_IMAGE will be replaced by the value of the `RELATED_IMAGE_catalog_index` env var, if set
20982100
- name: CATALOG_INDEX_IMAGE
20992101
value: "quay.io/rhdh/plugin-catalog-index:1.9"
2102+
- name: CATALOG_ENTITIES_EXTRACT_DIR
2103+
value: '/extensions'
21002104
volumeMounts:
21012105
- mountPath: /dynamic-plugins-root
21022106
name: dynamic-plugins-root
2107+
- name: extensions-catalog
2108+
mountPath: /extensions
21032109
# TODO Configuring dynamic plugins registry auth this way is deprecated and supported only for documentation backward compatibility.
21042110
- mountPath: /opt/app-root/src/.config/containers
21052111
name: dynamic-plugins-registry-auth
@@ -2183,6 +2189,8 @@ data:
21832189
volumeMounts:
21842190
- mountPath: /opt/app-root/src/dynamic-plugins-root
21852191
name: dynamic-plugins-root
2192+
- name: extensions-catalog
2193+
mountPath: /extensions
21862194
- mountPath: /tmp
21872195
name: temp
21882196
resources:

integration_tests/rhdh-config_test.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ var _ = When("create default rhdh", func() {
8282
MountPath: "/opt/app-root/src/dynamic-plugins.yaml",
8383
SubPath: "dynamic-plugins.yaml",
8484
},
85+
{
86+
Name: "extensions-catalog",
87+
MountPath: "/extensions",
88+
},
8589
{
8690
Name: "temp",
8791
MountPath: "/tmp",
@@ -106,7 +110,7 @@ var _ = When("create default rhdh", func() {
106110
g.Expect(initCont.Env[0].Name).To(Equal("NPM_CONFIG_USERCONFIG"))
107111
g.Expect(initCont.Env[0].Value).To(Equal("/opt/app-root/src/.npmrc.dynamic-plugins/.npmrc"))
108112

109-
g.Expect(deploy.PodSpec().Volumes).To(HaveLen(7))
113+
g.Expect(deploy.PodSpec().Volumes).To(HaveLen(8))
110114
g.Expect(deploy.PodSpec().Containers).To(HaveLen(1))
111115
mainCont := backstageContainer(*deploy.PodSpec())
112116
g.Expect(mainCont.Args).To(HaveLen(4))
@@ -124,6 +128,9 @@ var _ = When("create default rhdh", func() {
124128
MountPath: "/opt/app-root/src/default.app-config.yaml",
125129
SubPath: "default.app-config.yaml",
126130
},
131+
{
132+
MountPath: "/extensions",
133+
},
127134
{
128135
MountPath: "/tmp",
129136
SubPath: "",

pkg/model/dynamic-plugins_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,6 @@ func initContainer(model *BackstageModel) *corev1.Container {
248248
return nil
249249
}
250250

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

0 commit comments

Comments
 (0)