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:
Plugin name | Plugin ID | Version | Category |
---|---|---|---|
Segment |
|
1.2.0 |
Analytics |
Keycloak |
|
1.7.6 |
Identity and access management |
Open Cluster Management (OCM) |
|
3.5.0 |
Cluster management |
OCM backend |
|
3.4.6 |
Cluster management |
Quay |
|
1.4.6 |
Container management |
Quay actions |
|
1.2.1 |
Container management |
RBAC backend |
|
1.6.3 |
Security |
RBAC common |
|
1.1.0 |
Security |
Tekton |
|
3.1.3 |
Cluster management |
Topology |
|
1.16.4 |
Cluster management |
Regex actions |
|
1.2.1 |
Continuous deployment |
ArgoCD |
|
2.3.5 |
Continuous deployment |
ArgoCD backend |
|
2.11.3 |
Continuous deployment |
API Documentation |
|
0.9.12 |
Continuous deployment |
App backend |
|
0.3.54 |
Continuous deployment |
Auth backend |
|
0.19.4 |
Security |
Auth node |
|
0.4.0 |
Security |
Catalog frontend |
|
1.14.0 |
Continuous deployment |
Catalog backend |
|
1.14.0 |
Continuous deployment |
Catalog common |
|
1.0.17 |
Continuous deployment |
Catalog Graph |
|
0.2.37 |
Continuous deployment |
Catalog Import |
|
0.10.1 |
Continuous deployment |
Catalog React |
|
1.8.5 |
Continuous deployment |
Events backend |
|
0.2.15 |
Continuous deployment |
Events node |
|
0.2.15 |
Continuous deployment |
Home |
|
0.5.9 |
Continuous deployment |
Kubernetes backend |
|
0.13.0 |
Container management |
Org |
|
0.6.15 |
Identity and access management |
Permission backend |
|
0.5.29 |
Identity and access management |
Permission common |
|
0.7.9 |
Identity and access management |
Permission node |
|
0.7.17 |
Identity and access management |
Permission react |
|
0.4.16 |
Identity and access management |
Proxy backend |
|
0.4.4 |
Continuous deployment |
Scaffolder frontend |
|
0.15.1 |
Continuous deployment |
Scaffolder backend |
|
1.18.1 |
Continuous deployment |
Search |
|
1.4.1 |
Continuous deployment |
Search backend |
|
1.4.6 |
Continuous deployment |
Search backend module PostgreSQL |
|
0.5.15 |
Continuous deployment |
Search backend node |
|
0.2.10 |
Continuous deployment |
Search react |
|
1.7.1 |
Continuous deployment |
TechDocs |
|
1.8.0 |
Continuous deployment |
TechDocs backend |
|
1.8.0 |
Continuous deployment |
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.
Plugin | Plugin ID | Description |
---|---|---|
3scale |
|
The 3scale Backstage provider plugin synchronizes the 3scale content into the catalog. |
Ansible Automation Platform |
|
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 |
|
The Azure Container Registry (ACR) plugin displays information about your container images available in the Azure Container Registry. |
Jfrog Artifactory |
|
The Jfrog Artifactory plugin displays information about your container images within the Jfrog Artifactory registry. |
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 |
|
This plugin provides template actions for ServiceNow. |
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. |
Plugin | Plugin ID | Description |
---|---|---|
ArgoCD |
|
Scaffolder backend plugin for ArgoCD. |
Azure Devops |
|
Azure DevOps frontend plugin. |
Azure Devops |
|
Azure DevOps backend plugin that contains the API for retrieving builds and pull requests, that are used by the Azure DevOps frontend plugin. |
Datadog |
|
This plugin embeds Datadog graphs and dashboards into Developer Hub. |
Dynatrace |
|
This plugin integrates towards Dynatrace. |
GitHub |
|
This plugin helps integrate towards GitHub. |
GitHub Actions |
|
This plugin integrates towards GitHub actions. |
GitHub Issues |
|
This plugin integrates towards GitHub issues. |
GitHub Insights |
|
This plugin provides readmes, top contributors, and widgets. |
GitHub Pull Requests |
|
This plugin enables you to view and interact with GitHub pull requests. |
GitHub Security Insights |
|
This plugin adds security insights for GitHub repositories. |
GitLab |
|
This plugin extracts repositories out of an GitLab instance. |
GitLab |
|
This plugin is for the scaffolder backend that lets you interact with GitLab. |
GitLab |
|
This plugin enables you to interact with GitLab. |
GitLab |
|
This plugin enables you to interact with GitLab. |
Jenkins |
|
This plugin integrates towards Jenkins. |
Jenkins |
|
This backend plugin integrates towards Jenkins. |
Jira |
|
This plugin enables you to view and interact with Jira. |
Kubernetes |
|
This plugin integrates towards Kubernetes. |
Lighthouse |
|
This plugin integrates towards Lighthouse. |
Pagerduty |
|
This plugin integrates towards PagerDuty. |
Scaffolder |
|
This plugin contains a collection of actions to use in scaffolder templates. |
SonarQube |
|
This plugin displays SonarQube code quality and security results. |
SonarQube |
|
This plugin enables you to interact with SonarQube. |
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:
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 thepolicy.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.