Dynamic plugins reference
Red Hat Developer Hub is preinstalled with a selection of dynamic plugins that you can enable and configure to extend Developer Hub functionality
Abstract
The dynamic plugin support is based on the backend plugin manager package, which is a service that scans a configured root directory (dynamicPlugins.rootDirectory in the app config) for dynamic plugin packages and loads them dynamically.
You can use the dynamic plugins that come preinstalled with Red Hat Developer Hub or install external dynamic plugins from a public NPM registry.
1. Preinstalled dynamic plugins
Red Hat Developer Hub is preinstalled with a selection of dynamic plugins.
The following 15 preinstalled dynamic plugins are enabled by default:
-
@red-hat-developer-hub/backstage-plugin-analytics-module-adoption-insights -
@red-hat-developer-hub/backstage-plugin-adoption-insights -
@red-hat-developer-hub/backstage-plugin-adoption-insights-backend -
@backstage-community/plugin-analytics-provider-segment -
@backstage/plugin-techdocs -
@backstage/plugin-techdocs-module-addons-contrib -
@backstage/plugin-techdocs-backend -
@red-hat-developer-hub/backstage-plugin-extensions -
@red-hat-developer-hub/backstage-plugin-extensions-backend -
@red-hat-developer-hub/backstage-plugin-catalog-backend-module-extensions -
@red-hat-developer-hub/backstage-plugin-global-floating-action-button -
@red-hat-developer-hub/backstage-plugin-global-header -
@red-hat-developer-hub/backstage-plugin-dynamic-home-page -
@red-hat-developer-hub/backstage-plugin-quickstart -
@backstage-community/plugin-scaffolder-backend-module-regex
The dynamic plugins that require custom configuration are disabled by default.
Upon application startup, for each plugin that is disabled by default, the install-dynamic-plugins init container within the Developer Hub pod log displays a message similar to the following:
======= Skipping disabled dynamic plugin ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic
To enable this plugin, add a package with the same name to the Helm chart and change the value in the disabled field to ‘false’. For example:
global:
dynamic:
includes:
- dynamic-plugins.default.yaml
plugins:
- package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic
disabled: false
The default configuration for a plugin is extracted from the dynamic-plugins.default.yaml file, however, you can use a pluginConfig entry to override the default configuration.
2. Red Hat supported plugins
Red Hat supports the following 30 plugins:
| Name | Plugin | Version | Path and required variables |
|---|---|---|---|
|
Adoption Insights |
0.6.2 |
| |
|
Adoption Insights |
|
0.6.2 |
|
|
Analytics Module Adoption Insights |
|
0.6.2 |
|
|
Analytics Provider Segment |
1.22.2 |
| |
|
Dynamic Home Page |
1.10.4 |
| |
|
GitHub Org |
0.3.16 |
| |
|
GitHub |
0.11.2 |
| |
|
GitHub |
0.9.2 |
| |
|
Global Floating Action Button |
|
1.7.3 |
|
|
Global Header |
1.20.1 |
| |
|
Http Request |
5.5.1 |
| |
|
Keycloak |
3.16.0 |
| |
|
Kubernetes |
0.20.4 |
| |
|
Kubernetes |
|
2.13.0 |
|
|
Ldap |
0.12.0 |
| |
|
MS Graph |
0.8.2 |
| |
|
Orchestrator Form Widgets |
|
1.6.2 |
|
|
Orchestrator |
5.4.1 |
| |
|
Orchestrator |
|
8.6.1 |
|
|
Orchestrator |
|
1.3.3 |
|
|
Quickstart |
1.8.2 |
| |
|
RBAC |
1.47.4 |
| |
|
Regex |
2.11.0 |
| |
|
Signals |
0.3.10 |
| |
|
Tech Radar |
1.13.0 |
| |
|
Tech Radar |
1.12.0 |
| |
|
TechDocs Module Addons Contrib |
1.1.30 |
| |
|
TechDocs |
1.16.0 |
| |
|
TechDocs |
2.1.2 |
| |
|
Topology |
2.9.4 |
|
- For more information about configuring KeyCloak, see Configuring dynamic plugins.
- For more information about configuring TechDocs, see Configuring TechDocs.
3. Technology Preview plugins
Red Hat Developer Hub includes a select number of Technology Preview plugins, available for customers to configure and enable. These plugins are provided with support scoped per Technical Preview terms, might not be functionally complete, and Red Hat does not recommend using them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information on Red Hat Technology Preview features, see Technology Preview Features Scope.
4. Red Hat Technology Preview plugins
Red Hat provides Technology Preview support for the following 18 plugins:
| Name | Plugin | Version | Path and required variables |
|---|---|---|---|
|
ACR |
1.20.2 |
| |
|
Bulk Import |
7.0.1 |
| |
|
Bulk Import |
7.0.1 |
| |
|
Events Backend Module GitHub |
0.4.6 |
| |
|
Extensions |
0.14.3 |
| |
|
Extensions |
|
0.14.3 |
|
|
Extensions |
0.14.3 |
| |
|
GitLab Org |
0.2.15 |
| |
|
GitLab |
0.7.5 |
| |
|
GitLab |
0.10.0 |
| |
|
Kubernetes |
0.12.13 |
| |
|
Notifications |
0.5.11 |
| |
|
Notifications |
0.3.16 |
| |
|
Notifications |
0.6.0 |
| |
|
Orchestrator Backend Module Loki |
|
1.0.1 |
|
|
Pingidentity |
|
0.9.0 |
|
|
Scaffolder Relation Processor |
|
2.11.0 |
|
|
Signals |
0.0.25 |
|
5. Community plugins migration to the GitHub Container Registry
Breaking Change in RHDH 1.9
Starting with Red Hat Developer Hub 1.9, community-supported plugins are no longer distributed as bundled wrappers in the Developer Hub container image. These plugins are now built using GitHub Actions and published exclusively to the GitHub Container Registry (ghcr.io).
If you use the plugins listed in this section, you must update your dynamic plugins configuration (in dynamic-plugins-default.yaml, your ConfigMap or CustomResource) to use the new oci://ghcr.io/… paths.
5.1. What changed
In Developer Hub 1.8 and earlier, community plugins were:
- Wrapped and bundled in the Developer Hub container image.
-
Referenced by using local paths, such as
./dynamic-plugins/dist/<plugin-name>.
Starting with Developer Hub 1.9, community plugins are:
- Built using GitHub Actions from the rhdh-plugin-export-overlays repository.
-
Published to
ghcr.io/redhat-developer/rhdh-plugin-export-overlays. Referenced by using OCI registry paths, such as
oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/<oci-artifact-name>:<tag>.TipTo ensure environment stability, use a SHA256 digest instead of a version tag. See Determining SHA256 Digests
5.2. Migration steps
To migrate your configuration:
-
Identify plugins in your ConfigMap or CustomResource that use local paths starting with
./dynamic-plugins/dist/. Find the corresponding
ghcr.iopath in the following migration table:# Before (RHDH 1.8 and earlier) plugins: - package: ./dynamic-plugins/dist/backstage-community-plugin-jenkins disabled: false # After (RHDH 1.9+) plugins: - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-jenkins:bs_1.45.3__0.26.0 disabled: false- Update your configuration to use the new OCI registry path.
5.3. Understanding the tag format
The ghcr.io image tags use the following format: bs_<backstage-version>__<plugin-version>
Example: bs_1.45.3__0.26.0: where * bs_1.45.3: Built against Backstage version 1.45.3 * 0.26.0: Nodejs-packaged Backstage plugin, version 0.26.0
5.4. Community plugins migration table
The following table lists all 36 community-supported plugins that have been migrated from bundled wrappers to ghcr.io.
Replace <tag> with the version tag corresponding to your Developer Hub version. See Determining Tag Values
To ensure environment stability, use a SHA256 digest instead of a version tag. See Determining SHA256 Digests
| Plugin Name | Plugin Version | Old Path (RHDH 1.8) | New Path (RHDH 1.9+) |
|---|---|---|---|
|
3Scale |
3.10.0 |
|
|
|
ArgoCD Backend |
1.0.2 |
|
|
|
Azure DevOps Backend |
0.23.0 |
|
|
|
Catalog Backend Module Azure DevOps Annotator Processor |
0.14.0 |
|
|
|
Catalog Backend Module Bitbucket Cloud |
0.5.5 |
|
|
|
Catalog Backend Module Bitbucket Server |
0.5.5 |
|
|
|
Datadog |
2.6.0 |
|
|
|
Dynatrace |
10.12.1 |
|
|
|
GitHub Actions |
0.18.0 |
|
|
|
GitHub Insights |
3.4.1 |
|
|
|
GitHub Issues |
0.16.0 |
|
|
|
GitHub Pull Requests |
3.6.2 |
|
|
|
GitLab Backend |
6.13.0 |
|
|
|
JFrog Artifactory |
1.24.1 |
|
|
|
Jenkins Backend |
0.22.0 |
|
|
|
Jenkins Scaffolder Backend Module |
0.16.0 |
|
|
|
Jira |
2.14.0 |
|
|
|
Lighthouse Backend |
0.17.0 |
|
|
|
Nexus Repository Manager |
1.19.4 |
|
|
|
PagerDuty Backend |
0.10.1 |
|
|
|
Quay Backend |
1.10.1 |
|
|
|
Roadie ArgoCD Backend |
4.6.0 |
|
|
|
Scaffolder Backend ArgoCD |
1.8.1 |
|
|
|
Scaffolder Backend Module Azure DevOps |
0.18.0 |
|
|
|
Scaffolder Backend Module Bitbucket Cloud |
0.2.15 |
|
|
|
Scaffolder Backend Module Bitbucket Server |
0.2.15 |
|
|
|
Scaffolder Backend Module DotNet |
0.9.0 |
|
|
|
Scaffolder Backend Module Gerrit |
0.2.15 |
|
|
|
Scaffolder Backend Module Quay |
2.14.0 |
|
|
|
Scaffolder Backend Module ServiceNow |
2.11.0 |
|
|
|
Scaffolder Backend Module SonarQube |
2.11.0 |
|
|
|
Scaffolder Backend Module Utils |
4.1.1 |
|
|
|
Search Backend Module Azure DevOps |
0.1.2 |
|
|
|
Security Insights |
3.3.1 |
|
|
|
SonarQube Backend |
0.15.0 |
|
|
|
Tekton |
3.33.3 |
|
|
5.5. Plugins remaining bundled in RHDH 1.9
The following plugins remain bundled in 1.9 while transitioning to ghcr.io distribution in a future release:
| Plugin Name | Plugin Version | Current Path (RHDH 1.9) | Future Path (RHDH 1.10+) |
|---|---|---|---|
|
Quay |
1.28.1 |
|
|
|
Scaffolder Backend Module Quay |
2.14.0 |
|
|
|
Tekton |
3.33.3 |
|
|
|
Roadie ArgoCD Backend |
4.6.0 |
|
|
|
Scaffolder Backend ArgoCD |
1.8.1 |
|
|
5.6. Troubleshooting
5.6.1. Plugin not loading after migration
If a plugin fails to load, perform the following checks:
-
Verify the
ghcr.iopath is correct and the image tag or digest exists. -
Confirm your cluster has network access to
ghcr.io. - Review Developer Hub logs for OCI pull errors.
To ensure environment stability, use a SHA256 digest instead of a version tag. See Determining SHA256 Digests
5.6.2. Determining tag values
The <tag> variable is your RHDH application's version of Backstage and the plugin version, in the format: bs_<backstage-version>__<plugin-version> (note the double underscore delimiter). This format is only applicable for Community supported plugins.
To find the correct image tag for
<tag>:- Look in the RHDH release notes preface for your Backstage version.
-
Locate the plugin version for paths starting with
oci://ghcr.iowithin one of the tables provided in the Dynamic plugins reference.
For example, because RHDH 1.9 is based on Backstage 1.45.3, the tag will have the format bs_1.45.3__<plugin-version>
To ensure environment stability, use a SHA256 digest instead of a version tag. See Determining SHA256 Digests
5.6.3. Determining SHA256 digests
You can look up the SHA256 digest using the Skopeo CLI or by searching in the RHDH Plugin Export Overlays repository
Skopeo CLI
Ensure you have skopeo and jq installed
- Locate the plugin path in the Dynamic plugins reference
-
Run the following command, replacing the plugin path prefix
oci://withdocker://
skopeo inspect docker://<plugin-path>:<tag> | jq '.Digest'
RHDH Plugin Export Overlays Repo
Go to the plugin packages list in the rhdh-plugin-export-overlays repository. Search for your plugin and select the tag that is associated with this release.
5.7. Additional resources
6. Deprecated plugins
Red Hat Developer Hub (RHDH) includes a number of deprecated plugins, which are no longer being actively developed. It is recommended that if you depend on any of these plugins, you migrate to an alternative solution as soon as possible, as these plugins will be removed in a future release.
RHDH includes the following 2 deprecated plugins:
| Name | Plugin | Version | Path and required variables |
|---|---|---|---|
|
OCM |
5.11.1 |
| |
|
OCM |
5.12.2 |
|
7. Other installable plugins
The following Technology Preview plugins are not preinstalled and must be installed from an external source:
| Name | Plugin | Version | Installation Details |
|---|---|---|---|
|
Ansible Automation Platform Frontend |
1.0.0 | ||
|
Ansible Automation Platform |
1.0.0 | ||
|
Ansible Automation Platform Scaffolder Backend |
1.0.0 |