Upgrading Red Hat Developer Hub
Upgrading a Red Hat Developer Hub instance to a later version by using either the Operator or Helm chart
Abstract
- Preface
- 1. Upgrade the RHDH Operator
- 2. Upgrade the RHDH Helm chart
- 3. Update custom Helm configurations to safely upgrade from version 1.8 to 1.9
- 4. Roll back a dynamic plugin to a previous version
- 5. Assess upgrade risk with the RHDH Upgrade Helper skill
- 6. Run the RHDH Upgrade Helper skill
- 7. RHDH Upgrade Helper skill flags and inputs
Preface
You can upgrade a Red Hat Developer Hub (RHDH) instance to a later version by using either the Operator or Helm chart.
Chapter 1. Upgrade the RHDH Operator
If you use the Operator to deploy your Red Hat Developer Hub instance, then an administrator can use the OpenShift Container Platform web console to upgrade the Operator to a later version.
OpenShift Container Platform is currently supported from version 4.18 to 4.21. See also the Red Hat Developer Hub Life Cycle.
Prerequisites
- You have logged in as an administrator on the OpenShift Container Platform web console.
- You have installed the Red Hat Developer Hub Operator.
- You have configured the appropriate roles and permissions within your project to create or access an application. For more information, see the link:Building applications in the Red Hat OpenShift Container Platform documentation.
Procedure
- In the Administrator perspective of the OpenShift Container Platform web console, click Operators > Installed Operators.
- On the Installed Operators page, click Red Hat Developer Hub Operator.
- On the Red Hat Developer Hub Operator page, click the Subscription tab.
From the Upgrade status field on the Subscription details page, click Upgrade available.
NoteIf there is no upgrade available, the Upgrade status field value is Up to date.
On the
InstallPlandetails page, click PreviewInstallPlan> Approve.ImportantIf you are on the Orchestrator plugin
1.7, you must manually update the plugin configuration after approval to avoid a failed deployment. For more information, see Upgrading the Orchestrator plugin from1.7to 1.10.
Verification
- The Upgrade status field value on the Subscription details page is Up to date.
Chapter 2. Upgrade the RHDH Helm chart
You can upgrade to a later version of Red Hat Developer Hub in OpenShift Container Platform by using either the web console or the CLI.
Prerequisites
- You have deployed Developer Hub on OpenShift Container Platform by using the Helm chart.
Procedure
OpenShift Container Platform web console
WarningIf you have installed Developer Hub manually using the Helm CLI, the Helm chart release upgrade in the OpenShift Container Platform web console is going to fail. The failure is due to the limitations when using the OpenShift Container Platform console to upgrade a Helm release that was initially deployed using the Helm CLI. You can bypass this limitation by using the Helm CLI to upgrade. However, if you still want to upgrade using the console, select the Helm Chart version from the drop-down list and select the Developer Hub version you want to upgrade to. Before performing this step, save your
values.yamlconfiguration file in a different location.ImportantYou can upgrade Red Hat Developer Hub directly from any earlier version to the latest release without installing intermediate versions. Before upgrading, you must review the release notes for every skipped version to identify breaking changes, deprecations, or required migration steps. For example, if upgrading from version 1.5 to 1.7, check the release notes for both 1.6 and 1.7.
- In the Developer perspective, click Helm to open the Helm Releases tab.
- Click the overflow menu on the Helm release that you want to use and select Upgrade.
- On the Upgrade Helm Release page, select the version of Developer Hub that you want to upgrade to from the chart version drop-down list.
Click Upgrade.
NoteIt might take a few minutes to delete the resources in the older versions and to start the newer versions of the Developer Hub pods.
- Close all open Developer Hub web pages, and log in again to verify that the upgrade was successful.
- OpenShift Container Platform CLI
Log in to the OpenShift Container Platform cluster as the cluster administrator and switch to the project or namespace where you installed Developer Hub.
$ oc login -u <user> -p <password> https://api.<HOSTNAME>:6443 $ oc project my-rhdh-project
For a new version of the Developer Hub Helm chart, run the following upgrade command:
$ helm upgrade -i rhdh -f new-values.yml \ openshift-helm-charts/redhat-developer-hub --version 1.10.1
NoteYou can also give extra values to the chart by creating a
new-values.ymlfile on your workstation with values that override the attributes in the installed chart or by adding new attributes.
Chapter 3. Update custom Helm configurations to safely upgrade from version 1.8 to 1.9
If you use custom values.yaml files that override default configuration lists, you must manually update the files to include new mandatory defaults before upgrading to 1.10.
Prerequisites
- You have a running instance of Red Hat Developer Hub 1.8 deployed using the Helm chart.
Your custom
values.yamlfile overrides any of the following affected fields:-
upstream.backstage.extraVolumeMounts -
upstream.backstage.extraVolumes -
upstream.backstage.initContainers
-
Procedure
Manually merge the new default items into your
values.yamlfile to include the following highlighted items within their lists and avoid configuration loss: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 brevityTipTo view the full list of default values for 1.10, run the following command:
helm show values redhat-developer-hub --repo https://charts.openshift.io --version 1.10.1
Verification
- Verify that the Red Hat Developer Hub application successfully initializes.
Chapter 4. Roll back a dynamic plugin to a previous version
If a dynamic plugin update causes issues after a z-stream update, you can roll back the plugin by replacing the {{inherit}} tag or the current version reference with a pinned OCI image digest. This procedure applies to any plugin packaged as an OCI image.
Prerequisites
- You have administrator access to your Developer Hub instance.
-
You have the
skopeoandjqCLI tools installed. - You have network access to the container registry hosting the plugin image.
Procedure
-
In your
dynamic-plugins.yamlfile, identify the plugin entry that uses the{{inherit}}tag or the version you want to roll back. List the available version tags for the plugin image:
$ skopeo list-tags docker://<plugin_image>
where:
<plugin_image>-
The OCI image path without the tag or digest. For example,
registry.access.redhat.com/rhdh/backstage-community-plugin-topologyorghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-tech-radar.
Get the SHA256 digest for the version tag you want to roll back to:
$ skopeo inspect docker://<plugin_image>:<tag> | jq '.Digest'
where:
<tag>Enter your RHDH version of Backstage and the plugin version, in the format
bs_<backstage-version>__<plugin-version>(note the double underscore delimiter). To find these versions, complete the following steps:- Find your Backstage version in the RHDH release notes preface.
Locate the plugin version in the Dynamic Plugins Reference guide. For example, for RHDH 1.9 based on Backstage 1.45.3, use the format
bs_1.45.3__<plugin-version>.TipTo ensure environment stability, use a SHA256 digest instead of a version tag. See Determining SHA256 Digests.
In your
dynamic-plugins.yamlfile, replace the{{inherit}}tag or current version with the pinned digest:plugins: - package: oci://<plugin_image>@<digest> disabled: falsewhere:
<digest>-
The SHA256 digest value returned by the
skopeo inspectcommand. For example,sha256:28036abec4dffc714394e4ee433f16a59493db8017795049c831be41c02eb5dc.
Apply the configuration change:
-
If you deployed RHDH by using the Operator, update your
Backstagecustom resource (CR). -
If you deployed RHDH by using the Helm chart, update your Helm chart values and run the
helm upgradecommand.
-
If you deployed RHDH by using the Operator, update your
- Restart the RHDH application.
Verification
- Check the Developer Hub application logs to confirm the plugin loaded at the expected version.
- Verify the plugin behavior in the Developer Hub web console.
Chapter 5. Assess upgrade risk with the RHDH Upgrade Helper skill
The RHDH Upgrade Helper is a community Claude Code skill in rhdh-users-skill-pack. It helps platform engineers identify upgrade risks before upgrading a RHDH instance between released versions, including minor (for example, 1.8 to 1.10) and major upgrades.
The RHDH Upgrade Helper skill is a community tool distributed under an open-source licence. It does not require a Red Hat subscription.
5.1. What the skill analyses
When you run the skill with your configuration files and target version, it cross-references your environment against overlay repository metadata, bundled release notes, Backstage changelogs, and known public bug data. The skill identifies the following categories of risk:
- Breaking changes in upstream Backstage APIs
- API changes between the current and target Backstage versions that may affect your plugins or backend configuration.
- Configuration drift
-
Settings in your
app-config.yamlor dynamic plugins configuration that are deprecated, removed, or behave differently in the target version. - Plugin compatibility issues
- Plugins in your current configuration that are incompatible with, or require updates for, the target RHDH version.
- Known upgrade failure patterns
- Historical upgrade issues surfaced from public RHDH bug data relevant to your version range.
5.2. What the skill produces
The skill writes a structured, prioritised report to your terminal. The report lists each predicted issue by severity, explains the impact, and describes the action required before upgrading.
When skipping multiple minor versions — for example, upgrading from 1.5 to 1.9 — the skill accumulates predicted issues across all skipped releases into a single report.
5.3. Validate your configuration using Red Hat Developer Hub Local before upgrading
If you are not already using Red Hat Developer Hub Local (RHDH Local), the skill recommends it as a safe, cluster-free environment for validating your configuration against the target version before upgrading your production instance. RHDH Local uses rhdh-local with Podman Compose and does not require a Kubernetes cluster.
5.4. Protect secrets when providing configuration files
The skill scans input files for content that appears to contain secrets. Before and during analysis, the skill:
- Warns you if it detects API keys, passwords, tokens, or credentials in configuration files or environment variable exports.
- Redacts detected secret values from its output if you choose to continue.
Do not provide configuration files that contain secret values to the skill.
Chapter 6. Run the RHDH Upgrade Helper skill
Run the RHDH Upgrade Helper skill to produce a prioritised report of predicted upgrade issues for your Red Hat Developer Hub instance.
Prerequisites
- You have Claude Code installed and authenticated.
-
You have cloned or installed the
rhdh-users-skill-packrepository, or you have added the skill pack to your Claude Code configuration. - You have access to your current RHDH configuration files, such as your application configuration YAML, Helm values file, dynamic plugins YAML, or Backstage CR file.
Do not include API keys, passwords, tokens, or other credentials in any files you provide to the skill. The skill checks for secrets and warns you if it detects content that appears to contain sensitive values, but you must ensure secret values are removed or replaced with placeholders before proceeding.
Procedure
- Open a terminal and change to the directory that contains your RHDH configuration files.
Start the upgrade helper as a Claude Code slash command. Provide each configuration file with a separate
--configflag. The skill auto-detects the file type from the file content, so Helm values files,app-configfiles, dynamic plugins files, and Backstage CR files all use the same--configflag:/rhdh-upgrade-helper \ --from <current_version> \ --to <target_version> \ --config app-config.yaml \ --config dynamic-plugins.yaml
Replace
<current_version>with your installed RHDH version (for example,1.8) and<target_version>with the version you are upgrading to (for example,1.10).Optional: Instead of the slash command, start the skill by describing your upgrade in natural language. Claude Code detects the request and runs the skill. For example:
-
Analyze my values.yaml for upgrading from RHDH 1.8 to 1.10 -
What breaks if I upgrade to RHDH 1.10?
-
Optional: If your configuration files are collected in a directory, use
--config-pathto scan all files in that directory at once:/rhdh-upgrade-helper \ --from <current_version> \ --to <target_version> \ --config-path ./my-configs/
Optional: If you have additional individual configuration files relevant to your deployment, provide them by repeating the
--configflag:/rhdh-upgrade-helper \ --from 1.5 \ --to 1.9 \ --config app-config.yaml \ --config app-config.production.yaml \ --config dynamic-plugins.yaml
Optional: To avoid re-entering flags on every run, create a
.rhdh-upgrade-helper.yamlfile in your working directory and define all inputs there:from: "1.8" to: "1.10" configs: - ./values.yaml - ./app-config.yaml - ./dynamic-plugins.yaml
When this file is present, run the skill with no flags:
/rhdh-upgrade-helper
NoteIf you run
/rhdh-upgrade-helperwithout passing--configor--config-pathflags and without a.rhdh-upgrade-helper.yamlfile in the current directory, the skill enters interactive mode and asks intake questions to build an environment profile. Providing configuration files is therefore optional; you can rely on interactive mode if you prefer.- Review the predicted-issues report that the skill writes to your terminal. The report lists each issue in priority order. Address the issues listed before starting the upgrade.
Verification
- The skill produces a prioritised report in your terminal that lists predicted breaking changes, configuration drift, and plugin compatibility issues for your specified upgrade path.
- If the skill detects that you are not using Red Hat Developer Hub Local (RHDH Local), it recommends using it to validate your configuration against the target version in a cluster-free environment before upgrading production.
Additional resources
Chapter 7. RHDH Upgrade Helper skill flags and inputs
The RHDH Upgrade Helper skill accepts command-line flags and an optional configuration file as inputs. The following tables describe the required and optional flags.
7.1. Required flags
| Flag | Description |
|---|---|
|
|
The RHDH version you intend to upgrade to. For example, |
7.2. Optional flags
| Flag | Description |
|---|---|
|
|
The RHDH version currently installed in your environment. For example, |
|
|
Path to a configuration file to analyze. The skill auto-detects the file type from the file content, so Helm values files, |
|
|
Path to a directory containing configuration files. The skill scans the directory and analyzes all recognized configuration files it finds. Use instead of, or in addition to, repeated |
When you use --from and --to to specify a range that skips multiple minor versions, the skill produces a cumulative report covering all breaking changes, configuration changes, and plugin compatibility issues across every skipped release.
7.3. Secrets handling
The skill checks all provided input files for content that appears to contain secret values, such as API keys, tokens, or passwords, before processing them. If the skill flags a file, remove or replace the secret values with placeholders and re-run the skill.
Do not provide configuration files that contain live secret values. The skill warns against including secrets, but you are responsible for ensuring that sensitive data is not present in any files you provide.