Release notes for Red Hat Developer Hub 1.1

Red Hat Developer Hub 1.1

Red Hat Customer Content Services

Abstract

Red Hat Developer Hub is a developer platform for building developer portals. This document contains release notes for the Red Hat Developer Hub 1.1.

Preface

Red Hat Developer Hub (Developer Hub) 1.1 is now generally available. Developer Hub is a fully supported, enterprise-grade productized version of upstream Backstage v1.23.4. 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. You can use the Red Hat Customer Portal for the following purposes:

  • To search or browse through the Red Hat Knowledgebase of technical support articles about Red Hat products.
  • To create a support case for Red Hat Global Support Services (GSS). For support case creation, select Red Hat Developer Hub as the product and select the appropriate product version.

Chapter 1. About this release

The release notes provide high-level coverage of the features that have been implemented in Red Hat Developer Hub 1.1 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.

1.1. Supported platforms

  • OpenShift Container Platform 4.12, 4.13, 4.14, 4.15
  • Red Hat OpenShift Service on AWS (ROSA)
  • Azure Red Hat OpenShift (ARO)
  • Amazon Elastic Kubernetes Service (EKS)
  • Microsoft Azure Kubernetes Service (AKS)
  • [Technical Preview] Google Kubernetes Engine (GKE)

1.2. Supported architectures

Containers are available for the following CPU architectures:

  • AMD64 and Intel 64 (x86_64)

1.3. Upgrading the Red Hat Developer Hub Helm Chart

You can upgrade to a new version of Red Hat Developer Hub by using:

  • OpenShift web console

    1. In the Developer perspective, click Helm to open the Helm Releases tab.
    2. Click the three dots next to the Helm release entry and select Upgrade.
    3. In the Upgrade Helm Release page, select the version of Developer Hub that you want to upgrade to from the chart version drop-down list.
    4. Click Upgrade.

      Note

      You must wait while the resources in the older versions are deleted and newer versions of the Developer Hub pods are launched.

    5. Close all open Developer Hub web pages, and log in again to verify that the upgrade was successful.
  • OpenShift CLI

    1. Log in to the OpenShift cluster as the cluster administrator and switch to the devhub project.

      oc login -u <user> -p <password> https://api.<HOSTNAME>:6443
      oc project devhub
    2. 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.1.2
      Note

      You can also provide extra values to the chart by creating a new-values.yml file on your workstation with values that override the attributes in the installed chart or by adding new attributes.

Chapter 2. New features

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

2.1. Red Hat Developer Hub Operator is now generally available (GA)

You can use the Red Hat Developer Hub Operator to install Developer Hub on your OpenShift Container Platformcluster. For more information, see the Installing Red Hat Developer Hub using the Operator section in the Administration guide.

2.2. Change in productized version

Red Hat Developer Hub productized version is now based on the upstream Backstage project v1.23.4.

2.3. Ability to manage role-based access controls (RBAC) using the web interface

As an administrator, you can now use Developer Hub to assign specific roles and permissions to individual users or groups. Using the Developer Hub web interface, you can perform the following actions:

  • Creating a role
  • Editing a role and related permissions
  • Deleting a role

For more information, see the Role-Based Access Control in Red Hat Developer Hub section in the Administration guide.

2.4. Migration of the Red Hat Developer Hub to the new backend system

Red Hat Developer Hub 1.1 is now migrated to the Backstage new backend system. With this migration, you might notice the following functionality-related changes in the Developer Hub application:

2.4.1. New Scaffolder Identity client

Identity client functioning differs slightly between the one provided by the new backend system Scaffolder plugin and the one used in the previous release.

The new backend system’s Scaffolder plugin utilizes an identity service that introduces slight differences impacting error handling. For example, when encountering an invalid authorization header in a request, Developer Hub logs the error into the console instead of discarding it.

2.4.2. Enable all GitLab actions

Red Hat Developer Hub 1.1 enables all GitLab actions by default.

2.5. Support for Elastic Kubernetes Services (EKS)

You can now install and use the Red Hat Developer Hub on an EKS cluster.

For more information, see the Red Hat Developer Hub integration with Amazon Web Services section in the Administration guide.

2.6. Support for Azure Kubernetes Services (AKS)

You can now install and use the Red Hat Developer Hub on an AKS cluster.

For more information, see the Red Hat Developer Hub integration with Azure Kubernetes Services section in the Administration guide.

2.7. Support for viewing installed plugins using the web interface

As an administrator, you can now use the Developer Hub web interface to view a table of plugins that are installed. This feature uses the dynamic-plugins-info frontend component, which generates a table of plugins that are currently installed in the Red Hat Developer Hub. You can apply client-side sorting, filtering, and pagination to the plugins table.

For more information, see the Viewing installed plugins section in the Administration guide.

2.8. Supported plugins in Red Hat Developer Hub 1.1

To get a comprehensive list of supported dynamic plugins, see the Dynamic plugins included in Red Hat Developer Hub section in the Administration guide.

Chapter 3. Breaking changes

This section lists breaking changes with Red Hat Developer Hub 1.1:

3.1. Configuration change in the GitHub Organization catalog provider

The GitHub Organization catalog module for the new backend system switched to a new GithubMultiOrgEntityProvider provider, which allows ingesting data from multiple GitHub organizations. This new provider brings in changes to the default plugin configuration settings. You must upgrade the @backstage/plugin-catalog-backend-module-github-org plugin and reconfigure it in the following manner:

kind: ConfigMap
apiVersion: v1
metadata:
  name: app-config-rhdh
data:
  app-config-rhdh.yaml: |
    ...
    catalog:
      providers:
        githubOrg:
          id: production
          githubUrl: "${GITHUB_URL}"
          orgs: [ "${GITHUB_ORG}" ] 1
    ...
1
Replace ${GITHUB_ORG} with the GitHub organization you want to ingest users from.

For more information, see the Enabling GitHub organization member discovery in Red Hat Developer Hub section in the Getting started guide.

Chapter 4. Technology preview

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

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.

4.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, disable, or configure dynamic plugins, see the Installing dynamic plugins section in the Administration guide.

To get a comprehensive list of supported dynamic plugins, see the Dynamic plugins included in Red Hat Developer Hub section in the Administration guide.

Chapter 5. Known issues

5.1. Known issues in Red Hat Developer Hub 1.1.2

Deployment fails with error: Migration table is already locked

When you update Developer Hub to the latest 1.1.z Helm chart, if you have one or more pre-existing Developer Hub instances on your cluster, your existing Helm chart or database may be incompatible with the new deployment.

As a consequence, when you deploy the new Developer Hub instance, even if you use a different namespace, the deployment can fail with the following error message: MigrationLocked: Migration table is already locked.

Workaround: Save your existing ConfigMap and Helm chart configurations and then delete any pre-existing Red Hat Developer Hub deployments before you deploy the latest 1.1.z Helm chart.

5.2. Known issues in Red Hat Developer Hub 1.1.0 and 1.1.1

Helm Chart upgrade release failing on Openshift Developer Console

If you have installed Developer Hub manually using the Helm CLI, the helm chart release upgrade fails in the OpenShift Developer Console.

Workaround: You can use the Helm CLI to upgrade. If you still want to upgrade using the console, then a workaround is to select the Helm Chart version from the drop-down list and select the Developer Hub version you want to upgrade to. Before performing this workaround, ensure that you save your values.yaml configuration file to some other location.

Issues with the Developer Hub upgrade path using a persistent cache
If you have configured a cache with the Red Hat Developer Hub and are planning to upgrade to its new version, ensure that you have deleted that cache. A new cache will be recreated after the upgrade.
Events plugin redesign in progress for the new backend system

The Events plugin is not completely supported by the new backend system, and thus its usefulness is greatly reduced, if not completely broken.

A complete redesign of the Events plugin support for the new backend system is in progress, but the plugin is still not available for integration into this release of Red Hat Developer Hub. This limitation temporarily prevents third parties from fully using events in plugins or modules they want to provide as dynamic plugins for Red Hat Developer Hub.

Issues with the RBAC Plugin

In the new backend system, automatically getting the IDs of all dynamically installed plugins is not possible. This means that the permissions of dynamic plugins supporting RBAC will not be automatically displayed in the RBAC UI.

Workaround: You can manually add a list of dynamic plugin IDs supporting RBAC in the Developer Hub application configuration file.

Issues with OpenShift Container Platform 4.15.3 deployment
Deploy your Developer Hub instance on OpenShift Container Platform 4.15.2 or earlier versions to avoid known issues reported with OpenShift Container Platform 4.15.3 deployment. For more information, see OCPBUGS-31080.

Chapter 6. Fixed issues

6.1. Security issues resolved in Red Hat Developer Hub 1.1.0 and 1.1.1

6.1.1. Security fixes in Red Hat Developer Hub 1.1.1

A number of security fixes have been applied in this release, including the following:

6.2. Enhancements and bug fixes in Red Hat Developer Hub 1.1.0, 1.1.1, and 1.1.2

6.2.1. Enhancements and bug fixes in Red Hat Developer Hub 1.1.2

Impossible to use custom sidecar containers

In earlier versions of Developer Hub, you could not use sidecar containers by overriding the Developer Hub image.

In Red Hat Developer Hub 1.1.2, a sidecar container image defined in the Custom Resource spec.rawRuntimeConfig field is not overridden by the RELATED_IMAGE_* environment variable or by the spec.application.image field.

Support for non-public images in a Kubernetes clulster

In earlier versions of Developer Hub, there was no option to configure image pull secrets for a PostgreSQL pod when installing Red Hat Developer Hub using the Operator.

Consequently, for a local PostgreSQL database, this issue prevented a user from using non-public images in non-OpenShift Container Platform clusters such as Amazon Elastic Kubernetes Service (EKS) or Microsoft Azure Kubernetes Service (AKS).

In Red Hat Developer Hub 1.1.2, you can configure the image pull secrets for both the Developer Hub and PostgreSQL pods in spec.application.imagePullSecrets.

Cannot use the Helm CLI to install Red Hat Developer Hub 1.1.1

After the Developer Hub 1.1.0 release, OpenShift Helm charts were renamed, creating an incompatibility with the Developer Hub 1.1.0 naming convention for secrets.

As a consequence, in Developer Hub 1.1.1, the container fails to start if installed by the Helm CLI.

This regression, introduced in Developer Hub 1.1.1, is fixed in Developer Hub 1.1.2.

Operator pod may encounter an out of memory error

In a cluster with a significant number of objects such as deployments and services, the Developer Hub operator pod may fail and show an OOMKilled status, due to insufficient memory allocation.

In Developer Hub 1.1.2, this issue is resolved by allocating 1Gi of memory to the pod.

6.2.2. Enhancements and bug fixes in Red Hat Developer Hub 1.1.1

ArgoCD plugin downgraded to 2.4.1 from 2.6.2
The EntityArgoCDHistoryCard does not work when the ArgoCD backend plugin is used. This issue has been fixed by reverting the ArgoCD plugin version to 2.4.1. For more information, see https://github.com/RoadieHQ/roadie-backstage-plugins/issues/1238
Helm Chart deployment issue

In Red Hat Developer Hub 1.1.0, due to the inability to get resource "ingresses" in the config.openshift.io API group, a user without cluster administrator rights was unable to deploy the Red Hat Developer Hub 1.1.0 Helm Chart in hosted OpenShift Container Platform instances. This issue has been fixed by not automatically querying the OpenShift Container Platform cluster ingress for the domain to use for the clusterRouterBase, as regular users do not have access to this resource, only cluster admins.

As a result, when installing Red Hat Developer Hub using the 1.1.1 Helm Chart, you will need to set a clusterRouterBase value. For more details, see the Installing Red Hat Developer Hub using Helm Chart section of the Administration guide for Red Hat Developer Hub guide for more details.

RBAC Backend cleanup
In Developer Hub 1.1.0 when you remove all administration users from the application, administration metadata and policies are still present. This is issue is resolved in Developer Hub 1.1.1 so that user data is removed correctly. For more information, see https://github.com/janus-idp/backstage-plugins/pull/1314.
Tekton UI improvement
The Roxctl image check sometimes does not contain the response in the expected format and causes the UI to break. This issue is fixed in Red Hat Developer Hub 1.1.1. For more information, see https://issues.redhat.com/browse/RHTAPBUGS-1175 and https://github.com/janus-idp/backstage-plugins/issues/1355.
Routes in the Toplogy view show an incorrect mapping
In Red Hat Developer Hub 1.1.1. a check is added to services and routes to match the same namespace as workloads when resources are fetched across namespaces. For more information, see https://issues.redhat.com/browse/RHTAPBUGS-1166 and https://github.com/janus-idp/backstage-plugins/pull/1389.
Logout issue with OAuth2 Proxy (OIDC)
In Developer Hub 1.1.0 there is a sign-out issue for users that use OAuth2 Proxy with Keycloak. To resolve this sign-out issue, a forked version of auth-backend-module-oidc-provider is provided in 1.1.1 which enables switching to the OIDC provider with Keycloak. For more information, see https://issues.redhat.com/browse/RHDHBUGS-11 and https://github.com/janus-idp/backstage-showcase/pull/1072.
Plugin changes in Red Hat Developer Hub 1.1.1
PluginVersion in 1.1.0Version in 1.1.1

@roadiehq/backstage-plugin-argo-cd

2.6.2

2.4.1

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

1.8.5

1.8.6

@janus-idp/backstage-plugin-topology

1.18.7

1.18.8

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

3.5.6

3.5.7

@janus-idp/backstage-plugin-quay

1.5.9

1.5.10

@janus-idp/backstage-plugin-rbac

1.15.3

1.15.5

@janus-idp/backstage-plugin-tekton

3.5.10

3.5.12

6.2.3. Enhancements and bug fixes in Red Hat Developer Hub 1.1.0

Fix an inability to dynamically load several upstream backend plugins
Before this release, a whole category of upstream or third-party backstage backend plugins could not be loaded dynamically when converted to dynamic plugins. Impacted plugins were those using the resolvePackagePath() backstage API method. This issue impacted most of the backend plugins using the database service and providing migration scripts. This release removes such an important limitation of the dynamic plugin feature.
Incorrect configuration in the Atlassian Auth provider
Before this release, the authorization URL was constructed as ${baseUrl}/oauth/authorize, which did not align with the Atlassian expected path, resulting in an authentication error. Now, the users are directed to the authorization URL to get an authorization code for successful authentication.
RBAC: CSV repopulates the database whenever there is a server restart
Before this release, the policy.csv file was used to load permissions into Developer Hub. There might be instances of overlapping permissions, and the permissions could be reloaded into the database.
Validation is not working for the Create Role API
Before this release, the validation process in the Create Role API was ineffective, allowing the creation of roles that were invalid. This resulted in input errors when attempting to update or delete these roles.
RBAC backend plugin: policy change requires server restart
Before this release, manually manipulating the policy.csv file led to inconsistent behavior, causing the manipulated permission or role to not apply correctly within the RBAC plugin.
No support for monitoring Red Hat Developer Hub plugins
Before this release, no support was provided to administrators for monitoring Red Hat Developer Hub plugins. With this release, administrators can generate a list of Developer Hub plugins and their versions for monitoring purposes.

Legal Notice

Copyright © 2024 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.