Chapter 2. New features


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

2.1. Customizing the deployment by using the custom resource

With this update, when deploying Red Hat Developer Hub by using the operator, you can configure the Developer Hub Deployment resource. The Developer Hub Operator Custom Resource Definition (CRD) API Version has been updated to rhdh.redhat.com/v1alpha2. This CRD exposes a generic spec.deployment.patch field, which allows you to patch the Developer Hub Deployment resource.

2.2. Using nested conditions in RBAC conditional policies

With this update, as a Developer Hub administrator, you can create and edit nested conditions in RBAC conditional policies by using the Developer Hub web UI.

2.3. Persisting the audit log

With this update, you can persist the audit log:

  • You can send Red Hat Developer Hub audit logs to a rotating file.
  • You can send logs to a locked down file with append only rights.
  • When using the Helm chart, Developer Hub writes logs to persistent volumes.

2.4. Allow Dynamic Configuration of Keycloak User/Group Transformers

With this update, you can provide transformer functions for users and groups to mutate entity parameters from Keycloak before their ingestion into the catalog. This can be done by creating a new backend module and using the added keycloakTransformerExtensionPoint.

2.5. Expose extension points for the keycloak-backend plugin

With this update, you can provide transformer functions for user/group to mutate the entity from Keycloak before their ingestion into the catalog with the new Backstage backend.

Procedure

  1. Create a backend module.
  2. Provide the custom transformers to the keycloakTransformerExtensionPoint extension point exported by the package.

2.6. All public endpoints in core and plugins have OpenAPI specs

With this update, OpenAPI Specs are available for all components, including the rbac-backend plugin.

2.7. RBAC Backend plugin module support

With this update, Developer Hub can load roles and permissions into the RBAC Backend plugin through the use of extension points with the help of a plugin module.

2.8. Force catalog ingestion for production users

By default, it is now required for the user entity to exist in the software catalog to allow sign in. This is required for production ready deployments since identities need to exist and originate from a trusted source (i.e. the Identity Provider) in order for security controls such as RBAC and Audit logging to be effective. To bypass this, enable the dangerouslySignInWithoutUserInCatalog configuration that allows sign in without the user being in the catalog. Enabling this option is dangerous as it might allow unauthorized users to gain access.

2.9. RBAC UI enhancements

With this update, the RBAC UI has been improved:

  • The Create role form and the Role overview page display the total number of conditional rules configured.
  • The Role list page displays accessible plugins.

2.10. Updated Backstage version

With this update, Backstage was updated to version 1.29.2.

2.11. Authenticating with Microsoft Azure

The Microsoft Azure Authentication provider is now enterprise ready. To enable this, enhancements and bug fixes were made to improve the authentication and entity ingestion process. Note, the existence of user entity in the catalog is now enforced.

2.12. Deploying on OpenShift Dedicated on Google Cloud Provider (GCP)

Before this update, there was no automated process to deploy Developer Hub on OpenShift Dedicated (OSD) on Google Cloud Platform (GCP).

With this update, you can install Red Hat Developer Hub on OpenShift Dedicated (OSD) on Google Cloud Platform (GCP) by using either Red Hat Developer Hub Operator or Red Hat Developer Hub Helm Chart.

2.13. Visualize Virtual Machine nodes on the Topology plugin

With this update, you can visualize the Virtual Machine nodes deployed on the cluster through the Topology plugin.

2.14. Customizing the Home page

With this update, you can customize the Home page in Red Hat Developer Hub by passing the data into the app-config.yaml file as a proxy. It is now possible to add, reorganize, and remove cards, including the search bar, quick access, headline, markdown, placeholder, catalog starred entities and featured docs that appear based on the plugins you have installed and enabled.

2.15. Customizing the main navigation sidebar

This update introduces a configurable and customizable main navigation sidebar in Developer Hub, offering administrators greater control over the navigation structure. Previously, the sidebar was hard-coded with limited flexibility, and dynamic plugins could only contribute menu items without control over their order or structure.

With this feature, administrators can now configure the order of navigation items, create nested sub-navigation, and provide users with a more organized and intuitive interface. This enhancement improves user experience and efficiency by allowing a more tailored navigation setup.

Backward compatibility is maintained, ensuring existing dynamic plugin menu item contributions remain functional. A default configuration is provided, along with example configurations, including one with an external dynamic plugin. Documentation has been updated to guide developers on customizing the navigation.

2.16. Surfacing Catalog Processing Errors to Users

With this update, the @backstage/plugin-catalog-backend-module-logs plugin has been made available as a dynamic plugin to help surface catalog errors into the logs. This dynamic plugin is disabled by default.

2.17. Configuring conditional policies by using external files

With this release, you can configure conditional policies in Developer Hub using external files. Additionally, Developer Hub supports conditional policy aliases, which are dynamically substituted with the appropriate values during policy evaluation.

For more information, see Configuring conditional policies.

2.18. Restarting Red Hat Developer Hub faster

Before this update, it took a long time for Developer Hub to restart because Developer Hub bootstraps all dynamic plugins from zero with every restart.

With this update, Developer Hub is using persisted volumes for the dynamic plugins. Therefore, Developer Hub restarts faster.

2.19. Monitoring active users on Developer Hub

With this update, you can monitor active users on Developer Hub using the licensed-users-info-backend plugin. This plugin provides statistical data on logged-in users through the Web UI or REST API endpoints.

For more information, see Authorization.

2.20. Loading a custom Backstage theme from a dynamic plugin

With this update, you can load a custom Backstage theme from a dynamic plugin.

Procedure

  1. Export a theme provider function in the dynamic plugin, such as:

    import { lightTheme } from './lightTheme'; // some custom theme
    import { UnifiedThemeProvider } from '@backstage/theme';
    export const lightThemeProvider = ({ children }: { children: ReactNode }) => (
      <UnifiedThemeProvider theme={lightTheme} children={children} />
    );
  2. Configure Developer Hub to load the them in the UI by using the new themes configuration field:

    dynamicPlugins:
      frontend:
        example.my-custom-theme-plugin:
          themes:
            - id: light 1
              title: Light
              variant: light
              icon: someIconReference
              importName: lightThemeProvider
    1
    Set your theme id. Optionally, override the default Developer Hub themes specifying following id value: light overrides the default light theme and dark overrides the default dark theme.

Verification

  • The theme is available in the "Settings" page.

This update also introduced the ability to override core API service factories from a dynamic plugin, which can be helpful for more specialized use cases such as providing a custom ScmAuth configuration for the Developer Hub frontend.

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.