Red Hat Developer Hub (Developer Hub) 1.0 is now generally available. Developer Hub is a fully supported, enterprise-grade productized version of upstream Backstage v1.19.6. You can access and download the Red Hat Developer Hub from the Customer Portal.

Red Hat Developer Hub support

If you experience difficulty with a procedure described in this documentation, visit the Red Hat Customer Portal at http://access.redhat.com. You can use the Red Hat Customer Portal to search or browse through the Red Hat Knowledgebase of technical support articles about Red Hat products. You can also create a support case for Red Hat Global Support Services (GSS). Please select "Red Hat Developer Hub" as the product and select the appropriate product version.

1. About this release

The release notes provide high-level coverage of the features that have been implemented in Red Hat Developer Hub 1.0 and document known issues in this release.

Some features within this release may be available as a Technology Preview, providing access to upcoming product features, enabling customers to test functionality and to provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, read Technology Preview Support Scope.

Benefits of Red Hat Developer Hub include:

  • Increased developer productivity: Increases productivity by eliminating common organizational challenges, enabling seamless collaboration, and providing clear guidelines for creating, developing, and deploying applications.

  • Unified self-service dashboard: Provides development teams with a unified dashboard covering various aspects such as Git, CI/CD, SAST/DAST, Supply Chain, OpenShift/Kubernetes cluster, JIRA, monitoring, API, documentation, and more, facilitated by over 150 plugins. All curated by a platform engineering team, aligning with the company’s best practices.

  • Best practices through software templates: Automates organizational best practices by encoding common tasks such as creating new applications, running Ansible jobs, and establishing CI/CD pipelines for production deployment in Git.

  • Scalable technical documentation: Code and documentation resides in the same repository, eliminating dependencies on proprietary document systems.

  • Efficient onboarding for new developers: New developers quickly adapt and become productive within a short timeframe.

  • Robust enterprise Role-Based Access Control (RBAC): Empowers administrators to create roles, assign users or groups to roles, and implement robust security policies for enhanced access control.

2. New features

This section highlights new features in Red Hat Developer Hub 1.0.

2.1. Support for Role-Based Access Control

The Role-Based Access Control (RBAC) feature in Red Hat Developer Hub introduces an administrator role and optimizes access control through organizational structures such as teams, groups, and users.

The RBAC features REST API endpoints that you can use to manage the permissions and roles in Developer Hub.

Using the RBAC REST API, you can perform the following actions:

  • Retrieve information about all permission policies or specific permission policies, or roles.

  • Create, update, or delete a permission policy or a role.

  • Retrieve permission policy information about static plugins.

Note

RBAC is only supported on core Red Hat Developer Hub features including catalog, software templates, and RBAC plugin.

2.2. Support for enabling plugins dynamically

The dynamic plugins feature enables you to sideload dynamic plugins into your Developer Hub instance without having to recompile your code or rebuild the container.

Developer Hub is pre-loaded with a selection of dynamic plugins. Most of these dynamic plugins are disabled by default due to the need for mandatory configuration. For a complete list of dynamic plugins that are included in this release of Red Hat Developer Hub, see the dynamic plugins matrix in the Dynamic Plugins Matrix section in the Administration guide for Red Hat Developer Hub.

2.3. Supported plugins in Red Hat Developer Hub 1.0

The following table lists the supported plugins in Red Hat Developer Hub 1.0:

Table 1. Supported plugins in Red Hat Developer Hub 1.0
Plugin name Plugin ID Version Category

Segment

@janus-idp/backstage-plugin-analytics-provider-segment

1.2.0

Analytics

Keycloak

@janus-idp/backstage-plugin-keycloak-backend

1.7.6

Identity and access management

Open Cluster Management (OCM)

@janus-idp/Backstage-plugin-ocm

3.5.0

Cluster management

OCM backend

@janus-idp/backstage-plugin-ocm-backend

3.4.6

Cluster management

Quay

@janus-idp/backstage-plugin-quay

1.4.6

Container management

Quay actions

@janus-idp/backstage-scaffolder-backend-module-quay

1.2.1

Container management

RBAC backend

@janus-idp/backstage-plugin-rbac-backend

1.6.3

Security

RBAC common

@janus-idp/backstage-plugin-rbac-common

1.1.0

Security

Tekton

@janus-idp/backstage-plugin-tekton

3.1.3

Cluster management

Topology

@janus-idp/backstage-plugin-topology

1.16.4

Cluster management

Regex actions

@janus-idp/backstage-scaffolder-backend-module-regex

1.2.1

Continuous deployment

ArgoCD

@roadiehq/backstage-plugin-argo-cd

2.3.5

Continuous deployment

ArgoCD backend

@roadiehq/backstage-plugin-argo-cd-backend

2.11.3

Continuous deployment

API Documentation

@backstage/plugin-api-docs

0.9.12

Continuous deployment

App backend

@backstage/plugin-app-backend

0.3.54

Continuous deployment

Auth backend

@backstage/plugin-auth-backend

0.19.4

Security

Auth node

@backstage/plugin-auth-node

0.4.0

Security

Catalog frontend

@backstage/plugin-catalog

1.14.0

Continuous deployment

Catalog backend

@backstage/plugin-catalog-backend

1.14.0

Continuous deployment

Catalog common

@backstage/plugin-catalog-common

1.0.17

Continuous deployment

Catalog Graph

@backstage/plugin-catalog-graph

0.2.37

Continuous deployment

Catalog Import

@backstage/plugin-catalog-import

0.10.1

Continuous deployment

Catalog React

@backstage/plugin-catalog-react

1.8.5

Continuous deployment

Events backend

@backstage/plugin-events-backend

0.2.15

Continuous deployment

Events node

@backstage/plugin-events-node

0.2.15

Continuous deployment

Home

@backstage/plugin-home

0.5.9

Continuous deployment

Kubernetes backend

@backstage/plugin-kubernetes-backend

0.13.0

Container management

Org

@backstage/plugin-org

0.6.15

Identity and access management

Permission backend

@backstage/plugin-permission-backend

0.5.29

Identity and access management

Permission common

@backstage/plugin-permission-common

0.7.9

Identity and access management

Permission node

@backstage/plugin-permission-node

0.7.17

Identity and access management

Permission react

@backstage/plugin-permission-react

0.4.16

Identity and access management

Proxy backend

@backstage/plugin-proxy-backend

0.4.4

Continuous deployment

Scaffolder frontend

@backstage/plugin-scaffolder

0.15.1

Continuous deployment

Scaffolder backend

@backstage/plugin-scaffolder-backend

1.18.1

Continuous deployment

Search

@backstage/plugin-search

1.4.1

Continuous deployment

Search backend

@backstage/plugin-search-backend

1.4.6

Continuous deployment

Search backend module PostgreSQL

@backstage/Plugin-search-backend-module-pg

0.5.15

Continuous deployment

Search backend node

@backstage/plugin-search-backend-node

0.2.10

Continuous deployment

Search react

@backstage/plugin-search-react

1.7.1

Continuous deployment

TechDocs

@backstage/plugin-techdocs

1.8.0

Continuous deployment

TechDocs backend

@backstage/plugin-techdocs-backend

1.8.0

Continuous deployment

User settings

@backstage/plugin-user-settings

0.7.11

Identity and access management

2.4. Software templates in Red Hat Developer Hub

Red Hat Developer Hub provide software templates that enable you to create components. These templates come pre-equipped with features like loading code skeletons, incorporating variables into templates, and facilitating template publication to platforms like GitHub or GitLab.

With the software templates, you can create a new repository on GitHub or GitLab and upload the code sample for the new application. Following that, you can register the application in the Developer Hub catalog.

Currently, Red Hat Developer Hub offers templates for .Net, Python, Go, Spring Boot, Node.js, and Quarkus.

2.5. Ability to monitor the Red Hat Developer Hub instances

The Red Hat Developer Hub provides a /metrics endpoint, providing Prometheus metrics about your Developer Hub application. You can use the /metrics endpoint to monitor your Developer Hub instance using Prometheus and Grafana.

2.6. Ability to change the theme in Red Hat Developer Hub

You can select a theme for the application using Settings in the Red Hat Developer Hub application. Within the application, you can select from Light, Dark, or Auto settings for the main color and logo.

3. Technology preview

This section lists features that are in Technology Preview in Red Hat Developer Hub 1.0.

Important

These features are for Technology Preview 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.

3.1. Plugins available in Red Hat Developer Hub

Red Hat Developer Hub incorporates various dynamic plugins. Red Hat fully supports certain plugins, while others are community-supported projects. Some plugins are enabled by default, while others require configuration and are consequently disabled by default.

For more information about how to enable or disable or configure dynamic plugins, see the Installing dynamic plugins section in the Administration guide for Red Hat Developer Hub.

Table 2. Red Hat supported dynamic plugins
Plugin Plugin ID Description

3scale

@janus-idp/backstage-plugin-3scale-backend

The 3scale Backstage provider plugin synchronizes the 3scale content into the catalog.

Ansible Automation Platform

@janus-idp/backstage-plugin-aap-backend

The Ansible Automation Platform (AAP) plugin synchronizes the accessible templates including job templates and workflow job templates from AAP into the catalog.

Azure Container Registry

@janus-idp/backstage-plugin-acr

The Azure Container Registry (ACR) plugin displays information about your container images available in the Azure Container Registry.

Jfrog Artifactory

@janus-idp/backstage-plugin-jfrog-artifactory

The Jfrog Artifactory plugin displays information about your container images within the Jfrog Artifactory registry.

Nexus Repository Manager

@janus-idp/backstage-plugin-nexus-repository-manager

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

ServiceNow

@janus-idp/backstage-scaffolder-backend-module-servicenow

This plugin provides template actions for ServiceNow.

SonarQube

@janus-idp/backstage-scaffolder-backend-module-sonarqube

This plugin provides template actions for SonarQube.

Important

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

Table 3. Community plugins that are validated with Red Hat Developer Hub 1.0
Plugin Plugin ID Description

ArgoCD

@roadiehq/scaffolder-backend-argocd

Scaffolder backend plugin for ArgoCD.

Azure Devops

@backstage/plugin-azure-devops

Azure DevOps frontend plugin.

Azure Devops

@backstage/plugin-azure-devops-backend

Azure DevOps backend plugin that contains the API for retrieving builds and pull requests, that are used by the Azure DevOps frontend plugin.

Datadog

@roadiehq/backstage-plugin-datadog

This plugin embeds Datadog graphs and dashboards into Developer Hub.

Dynatrace

@backstage/plugin-dynatrace

This plugin integrates towards Dynatrace.

GitHub

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

This plugin helps integrate towards GitHub.

GitHub Actions

@backstage/plugin-github-actions

This plugin integrates towards GitHub actions.

GitHub Issues

@backstage/plugin-github-issues

This plugin integrates towards GitHub issues.

GitHub Insights

@roadiehq/backstage-plugin-github-insights

This plugin provides readmes, top contributors, and widgets.

GitHub Pull Requests

@roadiehq/backstage-plugin-github-pull-requests

This plugin enables you to view and interact with GitHub pull requests.

GitHub Security Insights

@roadiehq/backstage-plugin-security-insights

This plugin adds security insights for GitHub repositories.

GitLab

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

This plugin extracts repositories out of an GitLab instance.

GitLab

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

This plugin is for the scaffolder backend that lets you interact with GitLab.

GitLab

@immobiliarelabs/backstage-plugin-gitlab

This plugin enables you to interact with GitLab.

GitLab

@immobiliarelabs/backstage-plugin-gitlab-backend

This plugin enables you to interact with GitLab.

Jenkins

@backstage/plugin-jenkins

This plugin integrates towards Jenkins.

Jenkins

@backstage/plugin-jenkins-backend

This backend plugin integrates towards Jenkins.

Jira

@roadiehq/backstage-plugin-jira

This plugin enables you to view and interact with Jira.

Kubernetes

@backstage/plugin-kubernetes

This plugin integrates towards Kubernetes.

Lighthouse

@backstage/plugin-lighthouse

This plugin integrates towards Lighthouse.

Pagerduty

@backstage/plugin-pagerduty

This plugin integrates towards PagerDuty.

Scaffolder

@roadiehq/scaffolder-backend-module-utils

This plugin contains a collection of actions to use in scaffolder templates.

SonarQube

@backstage/plugin-sonarqube

This plugin displays SonarQube code quality and security results.

SonarQube

@backstage/plugin-sonarqube-backend

This plugin enables you to interact with SonarQube.

Tech Radar

@backstage/plugin-tech-radar

This plugin displays a Tech Radar for your organization.

3.2. Ability to deploy Developer Hub to Kubernetes using specific Helm Chart configuration

To deploy the Helm Chart on vanilla Kubernetes or other non-OCP platform, you must apply the following configuration to the values.yaml file:

Example configuration to deploy on Kubernetes
global:
    host: # Specify your own Ingress host
route:
    enabled: false  # OpenShift Routes do not exist on vanilla Kubernetes
upstream:
    ingress:
    enabled: true  # Use Kubernetes Ingress instead of OpenShift Route
    backstage:
    podSecurityContext:  # Vanilla Kubernetes does not feature OpenShift default SCCs with dynamic UIDs, adjust accordingly to the deployed image
        runAsUser: 1001
        runAsGroup: 1001
        fsGroup: 1001
    postgresql:
    primary:
        podSecurityContext:
        enabled: true
        fsGroup: 26
        runAsUser: 26
    volumePermissions:
        enabled: true

Depending on your Kubernetes configuration, you may need to apply additional customization.

4. Known issues in Red Hat Developer Hub 1.0

This section lists known issues with Red Hat Developer Hub 1.0:

Catalog-import function can leak GitLab access tokens on the frontend of Red Hat Developer Hub when base64-encoded GitLab token includes a newline at the end of the string [RHIDP-1734]

To mitigate this vulnerability until you can update to Red Hat Developer Hub 1.1, ensure that the base64-encoded GitLab token does not contain a newline character at the end of the string.

Workaround: Remove the newline from the token to prevent the unintended disclosure of the access token through the frontend.

RBAC: CSV repopulates database whenever there is a server restart [RHIDP-850]

The policy.csv file is used to load permissions into Developer Hub. There may be instances of overlapping permissions, and the permissions can be reloaded into the database.

Workaround: Remove the permission policies and roles in policy.csv file that might conflict with permissions and roles that are defined using the RBAC REST API. This ensures that permissions and roles are not repopulated to the RBAC plugin when server restarts.

If permission policies are not applied or removed permissions reappear in the RBAC plugin, use REST API to remove the conflicting or duplicate permission policies and roles.

You can also use the REST API endpoints to to list all the existing permission policies and roles and then you can address the issues either by removing or updating the permission policies and roles.

Validation is not working for create role API [RHIDP-852]

The validation process in the create role API is currently ineffective, allowing the creation of roles that are invalid. This results in input errors when attempting to update or delete these roles.

Workaround: Ensure that the following format is applied when you create or update a role for the RBAC plugin to consume:

<user/group>:<NAMESPACE>/<USERNAME>, role:<NAMESPACE>/<ROLE_NAME>

RBAC backend plugin - policy change requires server restart [RHIDP-853]

Manually manipulating the policy.csv file leads to inconsistent behavior, causing the manipulated permission or role to not apply correctly within the RBAC plugin.

Workaround: To avoid unnecessary server restarts, use the RBAC REST API for handling permissions and roles. If you update the policy.csv file, a restart of the Developer Hub is necessary to ensure that RBAC properly includes the permissions and roles defined in the policy.csv file.

Moreover, any modifications or removals of permissions and roles in the policy.csv file necessitate subsequent requests to the REST API to prevent conflicts with database entries.

Third-party, user-added plugin compatibility link:[RHIDP-447]

A third-party, user-added plugin added to Developer Hub can be updated without a necessary update to your Developer Hub instance which may cause a compatibility issue. Similarly, your Developer Hub instance can be updated which may also cause a compatibility issue with an existing third-party, user-added plugin.