=== Helm Upgrade may require manual update of custom values files if overriding specific list fields
**Issue:**
When upgrading the Red Hat Developer Hub (RHDH) Helm release to 1.9, users who utilize custom `values.yaml` files to override specific lists in the default configuration will need to manually update their files to include some new defaults.
**Details:**
This requirement is due to a known Helm limitation where the tool does not perform a "deep merge" on list fields. Instead, if a list is defined in a custom values file, it completely replaces the corresponding list in the default values. If you have custom overrides for the fields listed below, they will inadvertently strip out the new mandatory configurations required for the **Extensions Catalog Index** feature introduced in 1.9.
**Affected Fields:**
* `upstream.backstage.extraVolumeMounts`
* `upstream.backstage.extraVolumes`
* `upstream.backstage.initContainers`
**Impact:**
Failure to include the new default volume mounts and environment variables in your custom `values.yaml` will result in the RHDH application failing to initialize or failing to discover dynamic plugins correctly.
**Workaround:**
If you override any of the affected fields, you must manually merge the 1.9 default items into your custom configuration. You can view the full list of default values for the current version by running the following command:
[source,bash,subs="attributes"]
----
helm show values redhat-developer-hub --repo
https://charts.openshift.io --version {product-chart-version}
----
#### Required Configuration Updates
Ensure your custom `values.yaml` includes the following highlighted items within their respective lists to avoid configuration loss:
[source,yaml]
----
upstream:
backstage:
extraVolumeMounts:
# TODO: In addition to your custom mounts and the RHDH defaults, ensure this item is present (defined in the default RHDH chart):
- name: extensions-catalog
mountPath: /extensions
extraVolumes:
# TODO: In addition to your custom volumes and the RHDH defaults, ensure this item is present (defined in the default RHDH chart):
- name: extensions-catalog
emptyDir: {}
initContainers:
# TODO: Ensure the 'install-dynamic-plugins' container includes these environment variables and volume mounts:
- name: install-dynamic-plugins
env:
# TODO: In addition to your custom env vars and the RHDH defaults for the install-dynamic-plugins init container,
# ensure the following items are present (defined in the default RHDH chart):
- name: CATALOG_INDEX_IMAGE
value: '{{ .Values.global.catalogIndex.image.registry }}/{{ .Values.global.catalogIndex.image.repository }}:{{ .Values.global.catalogIndex.image.tag }}'
- name: CATALOG_ENTITIES_EXTRACT_DIR
value: '/extensions'
volumeMounts:
# TODO: In addition to your custom volume mounts and the RHDH defaults for the install-dynamic-plugins init container,
# ensure the following item is present (defined in the default RHDH chart):
- name: extensions-catalog
mountPath: /extensions
### ... other fields omitted for brevity
----