Red Hat Developer Hub 1.9

Configuring plugins in Red Hat Developer Hub

{subtitle}

Red Hat Customer Content Services

Abstract

Red Hat Developer Hub is a developer platform for building developer portals. You can add and configure plugins in Developer Hub to access various software development tools.

Red Hat Developer Hub (RHDH) is an enterprise-grade, integrated developer platform, extended through plugins, that helps reduce the friction and frustration of developers while boosting their productivity.

1. Plugins in Red Hat Developer Hub

The Red Hat Developer Hub application offers a unified platform with various plugins. Using the plugin ecosystem within the Developer Hub application, you can access any kind of development infrastructure or software development tool.

The plugins in Developer Hub maximize the productivity and streamline the development workflows by maintaining the consistency in the overall user experience.

2. Dynamic plugin installation

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.

2.1. Preinstalled dynamic plugins

Red Hat Developer Hub is preinstalled with a selection of dynamic plugins.

The following 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
  • @backstage/plugin-events-backend-module-github
  • @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-scaffolder-backend-module-orchestrator
  • @red-hat-developer-hub/backstage-plugin-orchestrator
  • @red-hat-developer-hub/backstage-plugin-orchestrator-form-widgets
  • @red-hat-developer-hub/backstage-plugin-orchestrator-backend
  • @red-hat-developer-hub/backstage-plugin-orchestrator-backend-module-loki
  • @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
Note

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.2. Community plugins migration to the GitHub Container Registry

Important

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.

2.2.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/<plugin-name>:<tag>.

    Tip

    To ensure environment stability, use a SHA256 digest instead of a version tag.

2.2.2. Migration steps

To migrate your configuration:

  1. Identify plugins in your ConfigMap or CustomResource that use local paths starting with ./dynamic-plugins/dist/.
  2. Find the corresponding ghcr.io path 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
  3. Update your configuration to use the new OCI registry path.

2.2.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

2.2.4. Community plugins migration table

The following table lists all 35 community-supported plugins that have been migrated from bundled wrappers to ghcr.io.

Note

Replace <tag> with the version tag corresponding to your Developer Hub version. For the latest tags, see the rhdh-plugin-export-overlays repository.

Tip

To ensure environment stability, use a SHA256 digest instead of a version tag.

Plugin NameOld Path (RHDH 1.8)New Path (RHDH 1.9+)

3Scale

./dynamic-plugins/dist/backstage-community-plugin-3scale-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-3scale-backend:<tag>

ArgoCD Backend

./dynamic-plugins/dist/backstage-community-plugin-redhat-argocd-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-argocd-backend:<tag>

Azure DevOps Backend

./dynamic-plugins/dist/backstage-community-plugin-azure-devops-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-azure-devops-backend:<tag>

Catalog Backend Module Azure DevOps Annotator Processor

./dynamic-plugins/dist/bcp-ctlg-backend-mod-azure-devops-annotator-processor

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-catalog-backend-module-azure-devops-annotator-processor:<tag>

Catalog Backend Module Bitbucket Cloud

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-bitbucket-cloud

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-catalog-backend-module-bitbucket-cloud:<tag>

Catalog Backend Module Bitbucket Server

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-bitbucket-server

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-catalog-backend-module-bitbucket-server:<tag>

Datadog

./dynamic-plugins/dist/roadiehq-backstage-plugin-datadog

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-datadog:<tag>

Dynatrace

./dynamic-plugins/dist/backstage-community-plugin-dynatrace

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-dynatrace:<tag>

GitHub Actions

./dynamic-plugins/dist/backstage-community-plugin-github-actions

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-actions:<tag>

GitHub Insights

./dynamic-plugins/dist/roadiehq-backstage-plugin-github-insights

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-github-insights:<tag>

GitHub Issues

./dynamic-plugins/dist/backstage-community-plugin-github-issues

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-issues:<tag>

GitHub Pull Requests

./dynamic-plugins/dist/roadiehq-backstage-plugin-github-pull-requests

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-github-pull-requests:<tag>

GitLab Backend

./dynamic-plugins/dist/immobiliarelabs-backstage-plugin-gitlab-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/immobiliarelabs-backstage-plugin-gitlab-backend:<tag>

JFrog Artifactory

./dynamic-plugins/dist/backstage-community-plugin-jfrog-artifactory

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-jfrog-artifactory:<tag>

Jenkins Backend

./dynamic-plugins/dist/backstage-community-plugin-jenkins-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-jenkins-backend:<tag>

Jenkins Scaffolder Backend Module

./dynamic-plugins/dist/bcp-scaffolder-backend-mod-jenkins

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-jenkins:<tag>

Jira

./dynamic-plugins/dist/roadiehq-backstage-plugin-jira

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-jira:<tag>

Lighthouse Backend

./dynamic-plugins/dist/backstage-community-plugin-lighthouse-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-lighthouse-backend:<tag>

Nexus Repository Manager

./dynamic-plugins/dist/backstage-community-plugin-nexus-repository-manager

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-nexus-repository-manager:<tag>

PagerDuty Backend

./dynamic-plugins/dist/pagerduty-backstage-plugin-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/pagerduty-backstage-plugin-backend:<tag>

Quay Backend

./dynamic-plugins/dist/backstage-community-plugin-quay-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay-backend:<tag>

Roadie ArgoCD Backend

./dynamic-plugins/dist/roadiehq-backstage-plugin-argo-cd-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-argo-cd-backend:<tag>

Scaffolder Backend ArgoCD

./dynamic-plugins/dist/roadiehq-scaffolder-backend-argocd

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-scaffolder-backend-argocd:<tag>

Scaffolder Backend Module Azure DevOps

./dynamic-plugins/dist/bcp-scaffolder-backend-mod-azure-devops

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-azure-devops:<tag>

Scaffolder Backend Module Bitbucket Cloud

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-bitbucket-cloud

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-scaffolder-backend-module-bitbucket-cloud:<tag>

Scaffolder Backend Module Bitbucket Server

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-bitbucket-server

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-scaffolder-backend-module-bitbucket-server:<tag>

Scaffolder Backend Module DotNet

./dynamic-plugins/dist/bcp-scaffolder-backend-mod-dotnet

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-dotnet:<tag>

Scaffolder Backend Module Gerrit

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-gerrit

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-scaffolder-backend-module-gerrit:<tag>

Scaffolder Backend Module Quay

./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-quay

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-quay:<tag>

Scaffolder Backend Module SonarQube

./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-sonarqube

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-sonarqube:<tag>

Scaffolder Backend Module Utils

./dynamic-plugins/dist/roadiehq-scaffolder-backend-module-utils

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-scaffolder-backend-module-utils:<tag>

Search Backend Module Azure DevOps

./dynamic-plugins/dist/bcp-search-backend-mod-azure-devops

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-search-backend-module-azure-devops:<tag>

Security Insights

./dynamic-plugins/dist/roadiehq-backstage-plugin-security-insights

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-security-insights:<tag>

SonarQube Backend

./dynamic-plugins/dist/backstage-community-plugin-sonarqube-backend

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-sonarqube-backend:<tag>

Tekton

./dynamic-plugins/dist/backstage-community-plugin-tekton

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-tekton:<tag>

2.2.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 NameOld Path (RHDH 1.9)New Path (RHDH 1.10+)

Quay

./dynamic-plugins/dist/backstage-community-plugin-quay

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay:<tag>

Scaffolder Backend Module Quay

./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-quay-dynamic

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-quay:<tag>

Tekton

./dynamic-plugins/dist/backstage-community-plugin-tekton

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-tekton:<tag>

Scaffolder Backend ArgoCD

./dynamic-plugins/dist/roadiehq-scaffolder-backend-argocd-dynamic

oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-scaffolder-backend-argocd:<tag>

2.2.6. Troubleshooting

2.2.6.1. Plugin not loading after migration

If a plugin fails to load, perform the following checks:

  1. Verify the ghcr.io path is correct and the image tag or digest exists.
  2. Confirm your cluster has network access to ghcr.io.
  3. Review Developer Hub logs for OCI pull errors.
Tip

To avoid unexpected updates, use a SHA256 digest instead of a tag.

2.2.6.2. Finding available tags

To list available image tags for a plugin, run the following command:

# Using skopeo (filter for bs_ tags only, excluding pr_ and next__ tags)
skopeo list-tags docker://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/<plugin-name> | jq -r '.Tags[]' | grep '^bs_'

2.2.7. Additional resources

2.3. Red Hat supported plugins

Red Hat supports the following 29 plugins:

NamePluginVersionPath and required variables

Adoption Insights

@red-hat-developer-hub/backstage-plugin-adoption-insights

0.6.2

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-adoption-insights

Adoption Insights

@red-hat-developer-hub/backstage-plugin-adoption-insights-backend

0.6.2

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-adoption-insights-backend-dynamic

Analytics Module Adoption Insights

@red-hat-developer-hub/backstage-plugin-analytics-module-adoption-insights

0.6.2

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-analytics-module-adoption-insights-dynamic

Analytics Provider Segment

@backstage-community/plugin-analytics-provider-segment

1.22.2

./dynamic-plugins/dist/backstage-community-plugin-analytics-provider-segment

BACKSTAGE_VERSION

RHDH_VERSION

SEGMENT_TEST_MODE

SEGMENT_WRITE_KEY

Dynamic Home Page

@red-hat-developer-hub/backstage-plugin-dynamic-home-page

1.10.4

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page

GitHub Org

@backstage/plugin-catalog-backend-module-github-org

0.3.16

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic

GITHUB_ORG

GITHUB_URL

GitHub

@backstage/plugin-catalog-backend-module-github

0.11.2

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic

GITHUB_ORG

GitHub

@backstage/plugin-scaffolder-backend-module-github

0.9.2

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-github-dynamic

Global Floating Action Button

@red-hat-developer-hub/backstage-plugin-global-floating-action-button

1.7.3

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-floating-action-button

Global Header

@red-hat-developer-hub/backstage-plugin-global-header

1.20.1

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-header

Keycloak

@backstage-community/plugin-catalog-backend-module-keycloak

3.16.0

./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-keycloak-dynamic

KEYCLOAK_BASE_URL

KEYCLOAK_CLIENT_ID

KEYCLOAK_CLIENT_SECRET

KEYCLOAK_LOGIN_REALM

KEYCLOAK_REALM

Kubernetes

@backstage/plugin-kubernetes-backend

0.20.4

./dynamic-plugins/dist/backstage-plugin-kubernetes-backend-dynamic

K8S_CLUSTER_NAME

K8S_CLUSTER_TOKEN

K8S_CLUSTER_URL

Kubernetes

@backstage-community/plugin-scaffolder-backend-module-kubernetes

2.13.0

./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic

Ldap

@backstage/plugin-catalog-backend-module-ldap

0.12.0

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-ldap-dynamic

LDAP_BIND_DN

LDAP_BIND_SECRET

LDAP_GROUPS_DN

LDAP_TARGET_URL

LDAP_USERS_DN

MS Graph

@backstage/plugin-catalog-backend-module-msgraph

0.8.2

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-msgraph-dynamic

MICROSOFT_CLIENT_ID

MICROSOFT_CLIENT_SECRET

MICROSOFT_TENANT_ID

Orchestrator Form Widgets

@red-hat-developer-hub/backstage-plugin-orchestrator-form-widgets

1.6.1

``

Orchestrator

@red-hat-developer-hub/backstage-plugin-orchestrator

5.4.0

``

Orchestrator

@red-hat-developer-hub/backstage-plugin-orchestrator-backend

8.6.0

``

Orchestrator

@red-hat-developer-hub/backstage-plugin-scaffolder-backend-module-orchestrator

1.3.2

``

Quickstart

@red-hat-developer-hub/backstage-plugin-quickstart

1.8.2

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-quickstart

RBAC

@backstage-community/plugin-rbac

1.47.4

./dynamic-plugins/dist/backstage-community-plugin-rbac

Regex

@backstage-community/plugin-scaffolder-backend-module-regex

2.11.0

./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-regex-dynamic

Signals

@backstage/plugin-signals-backend

0.3.10

./dynamic-plugins/dist/backstage-plugin-signals-backend-dynamic

Tech Radar

@backstage-community/plugin-tech-radar

1.13.0

./dynamic-plugins/dist/backstage-community-plugin-tech-radar

Tech Radar

@backstage-community/plugin-tech-radar-backend

1.12.0

./dynamic-plugins/dist/backstage-community-plugin-tech-radar-backend-dynamic

TECH_RADAR_DATA_URL

TechDocs Module Addons Contrib

@backstage/plugin-techdocs-module-addons-contrib

1.1.30

./dynamic-plugins/dist/backstage-plugin-techdocs-module-addons-contrib

TechDocs

@backstage/plugin-techdocs

1.16.0

./dynamic-plugins/dist/backstage-plugin-techdocs

TechDocs

@backstage/plugin-techdocs-backend

2.1.2

./dynamic-plugins/dist/backstage-plugin-techdocs-backend-dynamic

Topology

@backstage-community/plugin-topology

2.9.4

./dynamic-plugins/dist/backstage-community-plugin-topology

Note

2.4. Technology Preview plugins

Important

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.

2.5. Red Hat Technology Preview plugins

Red Hat provides Technology Preview support for the following 18 plugins:

NamePluginVersionPath and required variables

ACR

@backstage-community/plugin-acr

1.20.2

./dynamic-plugins/dist/backstage-community-plugin-acr

Bulk Import

@red-hat-developer-hub/backstage-plugin-bulk-import

7.0.1

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import

Bulk Import

@red-hat-developer-hub/backstage-plugin-bulk-import-backend

7.0.1

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic

Events Backend Module GitHub

@backstage/plugin-events-backend-module-github

0.4.6

./dynamic-plugins/dist/backstage-plugin-events-backend-module-github-dynamic

GITHUB_WEBHOOK_SECRET

Extensions

@red-hat-developer-hub/backstage-plugin-extensions

0.14.3

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-extensions

Extensions

@red-hat-developer-hub/backstage-plugin-catalog-backend-module-extensions

0.14.3

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-catalog-backend-module-extensions-dynamic

Extensions

@red-hat-developer-hub/backstage-plugin-extensions-backend

0.14.3

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-extensions-backend-dynamic

GitLab Org

@backstage/plugin-catalog-backend-module-gitlab-org

0.2.15

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-gitlab-org-dynamic

GitLab

@backstage/plugin-catalog-backend-module-gitlab

0.7.5

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-gitlab-dynamic

GitLab

@backstage/plugin-scaffolder-backend-module-gitlab

0.10.0

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-gitlab-dynamic

Kubernetes

@backstage/plugin-kubernetes

0.12.13

./dynamic-plugins/dist/backstage-plugin-kubernetes

Notifications

@backstage/plugin-notifications

0.5.11

./dynamic-plugins/dist/backstage-plugin-notifications

Notifications

@backstage/plugin-notifications-backend-module-email

0.3.16

./dynamic-plugins/dist/backstage-plugin-notifications-backend-module-email-dynamic

EMAIL_HOSTNAME

EMAIL_PASSWORD

EMAIL_SENDER

EMAIL_USERNAME

Notifications

@backstage/plugin-notifications-backend

0.6.0

./dynamic-plugins/dist/backstage-plugin-notifications-backend-dynamic

Orchestrator Backend Module Loki

@red-hat-developer-hub/backstage-plugin-orchestrator-backend-module-loki

1.0.0

./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-orchestrator-backend-module-loki-dynamic

LOKI_BASE_URL

Pingidentity

@backstage-community/plugin-catalog-backend-module-pingidentity

0.9.0

./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-pingidentity-dynamic

Scaffolder Relation Processor

@backstage-community/plugin-catalog-backend-module-scaffolder-relation-processor

2.11.0

./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic

Signals

@backstage/plugin-signals

0.0.25

./dynamic-plugins/dist/backstage-plugin-signals

2.6. Community plugins

Important

Red Hat Developer Hub (RHDH) includes a select number of community-supported plugins, available for customers to enable and configure. These community plugins are augmented by Red Hat to be dynamic plugin capable, and are provided with support scoped per Technical Preview terms.

RHDH includes the following 4 community plugins:

NamePluginVersionPath and required variables

Argo CD

@roadiehq/backstage-plugin-argo-cd

2.12.2

``

Azure

@backstage/plugin-scaffolder-backend-module-azure

0.2.15

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-azure-dynamic

Http Request

@roadiehq/scaffolder-backend-module-http-request

5.5.1

./dynamic-plugins/dist/roadiehq-scaffolder-backend-module-http-request-dynamic

ServiceNow

@backstage-community/plugin-scaffolder-backend-module-servicenow

2.11.0

./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic

SERVICENOW_BASE_URL

SERVICENOW_PASSWORD

SERVICENOW_USERNAME

Additional resources

2.7. Deprecated plugins

Important

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:

NamePluginVersionPath and required variables

OCM

@backstage-community/plugin-ocm

5.11.1

./dynamic-plugins/dist/backstage-community-plugin-ocm

OCM

@backstage-community/plugin-ocm-backend

5.12.2

./dynamic-plugins/dist/backstage-community-plugin-ocm-backend-dynamic

OCM_HUB_NAME

OCM_HUB_URL

OCM_SA_TOKEN

2.8. Other installable plugins

The following Technology Preview plugins are not preinstalled and must be installed from an external source:

NamePluginVersionInstallation Details

Ansible Automation Platform Frontend

@ansible/plugin-backstage-rhaap

1.0.0

Learn more

Ansible Automation Platform

@ansible/plugin-backstage-rhaap-backend

1.0.0

Learn more

Ansible Automation Platform Scaffolder Backend

@ansible/plugin-scaffolder-backend-module-backstage-rhaap

1.0.0

Learn more

2.9. Installing and using Ansible plug-ins for Red Hat Developer Hub

Ansible plug-ins for Red Hat Developer Hub deliver an Ansible-specific portal experience with curated learning paths, push-button content creation, integrated development tools, and other opinionated resources.

Important

The Ansible plug-ins are a Technology Preview feature only.

Technology Preview features are not supported with Red Hat production service level agreements (SLAs), 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.

2.10. Installation and configuration of Keycloak

The Keycloak backend plugin, which integrates Keycloak into Developer Hub, has the following capabilities:

  • Synchronization of Keycloak users in a realm.
  • Synchronization of Keycloak groups and their users in a realm.

2.10.1. Installation

The Keycloak plugin is pre-loaded in Developer Hub with basic configuration properties. To enable it, set the disabled property to false as follows:

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-keycloak-dynamic
        disabled: false

2.10.2. Basic configuration

To enable the Keycloak plugin, you must set the following environment variables:

  • KEYCLOAK_BASE_URL
  • KEYCLOAK_LOGIN_REALM
  • KEYCLOAK_REALM
  • KEYCLOAK_CLIENT_ID
  • KEYCLOAK_CLIENT_SECRET

2.10.3. Advanced configuration

Schedule configuration

You can configure a schedule in the app-config.yaml file, as follows:

     catalog:
       providers:
         keycloakOrg:
           default:
             # ...
             # highlight-add-start
             schedule: # optional; same options as in TaskScheduleDefinition
               # supports cron, ISO 8601 duration strings, and duration objects
               frequency: { minutes: 1 }
               # supports ISO 8601 duration strings and duration objects
               timeout: { minutes: 1 }
               initialDelay: { seconds: 15 }
               # highlight-add-end
Note

If you have made any changes to the schedule in the app-config.yaml file, then restart to apply the changes.

Keycloak query parameters

You can override the default Keycloak query parameters in the app-config.yaml file, as follows:

   catalog:
     providers:
       keycloakOrg:
         default:
           # ...
           # highlight-add-start
           userQuerySize: 500 # Optional
           groupQuerySize: 250 # Optional
           # highlight-add-end

Communication between Developer Hub and Keycloak is enabled by using the Keycloak API. Username and password, or client credentials are supported authentication methods.

The following table describes the parameters that you can configure to enable the plugin under catalog.providers.keycloakOrg.<ENVIRONMENT_NAME> object in the app-config.yaml file:

NameDescriptionDefault ValueRequired

baseUrl

Location of the Keycloak server, such as https://localhost:8443/auth. Note that the newer versions of Keycloak omit the /auth context path.

""

Yes

realm

Realm to synchronize

master

No

loginRealm

Realm used to authenticate

master

No

username

Username to authenticate

""

Yes if using password based authentication

password

Password to authenticate

""

Yes if using password based authentication

clientId

Client ID to authenticate

""

Yes if using client credentials based authentication

clientSecret

Client Secret to authenticate

""

Yes if using client credentials based authentication

userQuerySize

Number of users to query at a time

100

No

groupQuerySize

Number of groups to query at a time

100

No

When using client credentials, the access type must be set to confidential and service accounts must be enabled. You must also add the following roles from the realm-management client role:

  • query-groups
  • query-users
  • view-users

2.10.4. Limitations

If you have self-signed or corporate certificate issues, you can set the following environment variable before starting Developer Hub:

NODE_TLS_REJECT_UNAUTHORIZED=0

Note

The solution of setting the environment variable is not recommended.

2.11. Installation and configuration of Nexus Repository Manager

The Nexus Repository Manager plugin displays the information about your build artifacts in your Developer Hub application. The build artifacts are available in the Nexus Repository Manager.

Important

The Nexus Repository Manager plugin is a Technology Preview feature only.

Technology Preview features are not supported with Red Hat production service level agreements (SLAs), 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.

Additional detail on how Red Hat provides support for bundled community dynamic plugins is available on the Red Hat Developer Support Policy page.

2.11.1. For administrators

2.11.1.1. Installing and configuring the Nexus Repository Manager plugin

Installation

The Nexus Repository Manager plugin is pre-loaded in Developer Hub with basic configuration properties. To enable it, set the disabled property to false as follows:

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: ./dynamic-plugins/dist/backstage-community-plugin-nexus-repository-manager
        disabled: false

Configuration

  1. Set the proxy to the desired Nexus Repository Manager server in the app-config.yaml file as follows:

    proxy:
        '/nexus-repository-manager':
        target: 'https://<NEXUS_REPOSITORY_MANAGER_URL>'
        headers:
            X-Requested-With: 'XMLHttpRequest'
            # Uncomment the following line to access a private Nexus Repository Manager using a token
            # Authorization: 'Bearer <YOUR TOKEN>'
        changeOrigin: true
        # Change to "false" in case of using self hosted Nexus Repository Manager instance with a self-signed certificate
        secure: true
  2. Optional: Change the base URL of Nexus Repository Manager proxy as follows:

    nexusRepositoryManager:
        # default path is `/nexus-repository-manager`
        proxyPath: /custom-path
  3. Optional: Enable the following experimental annotations:

    nexusRepositoryManager:
        experimentalAnnotations: true
  4. Annotate your entity using the following annotations:

    metadata:
        annotations:
        # insert the chosen annotations here
        # example
        nexus-repository-manager/docker.image-name: `<ORGANIZATION>/<REPOSITORY>`,

2.11.2. For users

2.11.2.1. Using the Nexus Repository Manager plugin in Developer Hub

The Nexus Repository Manager is a front-end plugin that enables you to view the information about build artifacts.

Prerequisites

Procedure

  1. Open your Developer Hub application and select a component from the Catalog page.
  2. Go to the BUILD ARTIFACTS tab.

    The BUILD ARTIFACTS tab contains a list of build artifacts and related information, such as VERSION, REPOSITORY, REPOSITORY TYPE, MANIFEST, MODIFIED, and SIZE.

    nexus-repository-manager-tab

2.12. Installation and configuration of Tekton

You can use the Tekton plugin to visualize the results of CI/CD pipeline runs on your Kubernetes or OpenShift clusters. The plugin allows users to visually see high level status of all associated tasks in the pipeline for their applications.

2.12.1. For administrators

2.12.1.1. Installation

Prerequisites

  • You have installed and configured the @backstage/plugin-kubernetes and @backstage/plugin-kubernetes-backend dynamic plugins.
  • You have configured the Kubernetes plugin to connect to the cluster using a ServiceAccount.
  • The ClusterRole must be granted for custom resources (PipelineRuns and TaskRuns) to the ServiceAccount accessing the cluster.

    Note

    If you have the RHDH Kubernetes plugin configured, then the ClusterRole is already granted.

  • To view the pod logs, you have granted permissions for pods/log.
  • You can use the following code to grant the ClusterRole for custom resources and pod logs:

    kubernetes:
       ...
       customResources:
         - group: 'tekton.dev'
           apiVersion: 'v1'
           plural: 'pipelineruns'
         - group: 'tekton.dev'
           apiVersion: 'v1'
    
    
     ...
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: backstage-read-only
      rules:
        - apiGroups:
            - ""
          resources:
            - pods/log
          verbs:
            - get
            - list
            - watch
        ...
        - apiGroups:
            - tekton.dev
          resources:
            - pipelineruns
            - taskruns
          verbs:
            - get
            - list

    You can use the prepared manifest for a read-only ClusterRole, which provides access for both Kubernetes plugin and Tekton plugin.

  • Add the following annotation to the entity’s catalog-info.yaml file to identify whether an entity contains the Kubernetes resources:

    annotations:
      ...
    
      backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
  • You can also add the backstage.io/kubernetes-namespace annotation to identify the Kubernetes resources using the defined namespace.

    annotations:
      ...
    
      backstage.io/kubernetes-namespace: <RESOURCE_NS>
  • Add the following annotation to the catalog-info.yaml file of the entity to enable the Tekton related features in RHDH. The value of the annotation identifies the name of the RHDH entity:

    annotations:
      ...
    
      janus-idp.io/tekton : <BACKSTAGE_ENTITY_NAME>
  • Add a custom label selector, which RHDH uses to find the Kubernetes resources. The label selector takes precedence over the ID annotations.

    annotations:
      ...
    
      backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
  • Add the following label to the resources so that the Kubernetes plugin gets the Kubernetes resources from the requested entity:

    labels:
      ...
    
      backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
    Note

    When you use the label selector, the mentioned labels must be present on the resource.

Procedure

  • The Tekton plugin is pre-loaded in RHDH with basic configuration properties. To enable it, set the disabled property to false as follows:

    global:
      dynamic:
        includes:
          - dynamic-plugins.default.yaml
        plugins:
          - package: ./dynamic-plugins/dist/backstage-community-plugin-tekton
            disabled: false

2.12.2. For users

2.12.2.1. Using the Tekton plugin in RHDH

You can use the Tekton front-end plugin to view PipelineRun resources.

Prerequisites

Procedure

  1. Open your RHDH application and select a component from the Catalog page.
  2. Go to the CI tab.

    The CI tab displays the list of PipelineRun resources associated with a Kubernetes cluster. The list contains pipeline run details, such as NAME, VULNERABILITIES, STATUS, TASK STATUS, STARTED, and DURATION.

    ci-cd-tab-tekton
  3. Click the expand row button besides PipelineRun name in the list to view the PipelineRun visualization. The pipeline run resource includes tasks to complete. When you hover the mouse pointer on a task card, you can view the steps to complete that particular task.

    ci-cd-tab-tekton

2.13. Enabling and configuring Argo CD plugin

You can use the Argo CD plugin to visualize the Continuous Delivery (CD) workflows in OpenShift GitOps. This plugin provides a visual overview of the application’s status, deployment details, commit message, author of the commit, container image promoted to environment and deployment history.

2.13.1. Using the Argo CD plugin

Prerequisites

  • You have enabled the Argo CD plugin in Red Hat Developer Hub RHDH.

Procedures

  1. Select the Catalog tab and choose the component that you want to use.
  2. Select the CD tab to view insights into deployments managed by Argo CD.

    CD tab Argo CD
  3. Select an appropriate card to view the deployment details (for example, commit message, author name, and deployment history).

    Sidebar
    1. Click the link icon ( Link icon ) to open the deployment details in Argo CD.
  4. Select the Overview tab and navigate to the Deployment summary section to review the summary of your application’s deployment across namespaces. Additionally, select an appropriate Argo CD app to open the deployment details in Argo CD, or select a commit ID from the Revision column to review the changes in GitLab or GitHub.

    Deployment summary

Legal Notice

Copyright © 2026 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.