Red Hat Developer Hub 1.4

Installing Red Hat Developer Hub on OpenShift Container Platform

Red Hat Customer Content Services

Abstract

Red Hat Developer Hub is an enterprise-grade platform for building developer portals. Administrative users can configure roles, permissions, and other settings to enable other authorized users to deploy a Developer Hub instance on Red Hat OpenShift Container Platform using either the Operator or Helm chart.

You can install Red Hat Developer Hub on OpenShift Container Platform by using one of the following installers:

The Red Hat Developer Hub Operator
  • Ready for immediate use in OpenShift Container Platform after an administrator installs it with OperatorHub
  • Uses Operator Lifecycle Management (OLM) to manage automated subscription updates on OpenShift Container Platform
  • Requires preinstallation of Operator Lifecycle Management (OLM) to manage automated subscription updates on Kubernetes
The Red Hat Developer Hub Helm chart
  • Ready for immediate use in both OpenShift Container Platform and Kubernetes
  • Requires manual installation and management

Use the installation method that best meets your needs and preferences.

Additional resources

1. Installing Red Hat Developer Hub on OpenShift Container Platform with the Operator

You can install Red Hat Developer Hub on OpenShift Container Platform by using the Red Hat Developer Hub Operator in the OpenShift Container Platform console.

1.1. Installing the Red Hat Developer Hub Operator

As an administrator, you can install the Red Hat Developer Hub Operator. Authorized users can use the Operator to install Red Hat Developer Hub on the following platforms:

  • Red Hat OpenShift Container Platform (OpenShift Container Platform)
  • Amazon Elastic Kubernetes Service (EKS)
  • Microsoft Azure Kubernetes Service (AKS)

For more information on OpenShift Container Platform supported versions, see the Red Hat Developer Hub Life Cycle.

Containers are available for the following CPU architectures:

  • AMD64 and Intel 64 (x86_64)

Prerequisites

Important

For enhanced security, better control over the Operator lifecycle, and preventing potential privilege escalation, install the Red Hat Developer Hub Operator in a dedicated default rhdh-operator namespace. You can restrict other users' access to the Operator resources through role bindings or cluster role bindings.

You can also install the Operator in another namespace by creating the necessary resources, such as an Operator group. For more information, see Installing global Operators in custom namespaces.

However, if the Red Hat Developer Hub Operator shares a namespace with other Operators, then it shares the same update policy as well, preventing the customization of the update policy. For example, if one Operator is set to manual updates, the Red Hat Developer Hub Operator update policy is also set to manual. For more information, see Colocation of Operators in a namespace.

Procedure

  1. In the Administrator perspective of the OpenShift Container Platform web console, click Operators > OperatorHub.
  2. In the Filter by keyword box, enter Developer Hub and click the Red Hat Developer Hub Operator card.
  3. On the Red Hat Developer Hub Operator page, click Install.
  4. On the Install Operator page, use the Update channel drop-down menu to select the update channel that you want to use:

    • The fast channel provides y-stream (x.y) and z-stream (x.y.z) updates, for example, updating from version 1.1 to 1.2, or from 1.1.0 to 1.1.1.

      Important

      The fast channel includes all of the updates available for a particular version. Any update might introduce unexpected changes in your Red Hat Developer Hub deployment. Check the release notes for details about any potentially breaking changes.

    • The fast-1.1 channel only provides z-stream updates, for example, updating from version 1.1.1 to 1.1.2. If you want to update the Red Hat Developer Hub y-version in the future, for example, updating from 1.1 to 1.2, you must switch to the fast channel manually.
  5. On the Install Operator page, choose the Update approval strategy for the Operator:

    • If you choose the Automatic option, the Operator is updated without requiring manual confirmation.
    • If you choose the Manual option, a notification opens when a new update is released in the update channel. The update must be manually approved by an administrator before installation can begin.
  6. Click Install.

Verification

  • To view the installed Red Hat Developer Hub Operator, click View Operator.

1.2. Deploying Red Hat Developer Hub on OpenShift Container Platform with the Operator

As a developer, you can deploy a Red Hat Developer Hub instance on OpenShift Container Platform by using the Developer Catalog in the Red Hat OpenShift Container Platform web console. This deployment method uses the Red Hat Developer Hub Operator.

Procedure

  1. In the OpenShift Container Platform web console, select your <my-rhdh-project> project.
  2. From the Developer perspective on the OpenShift Container Platform web console, click +Add.
  3. From the Developer Catalog panel, click Operator Backed.
  4. In the Filter by keyword box, enter Developer Hub and click the Red Hat Developer Hub card.
  5. Click Create.
  6. Add your Backstage custom resource content.
  7. On the Create Backstage page, click Create

Verification

After the pods are ready, you can access the Red Hat Developer Hub platform by opening the URL.

  1. Confirm that the pods are ready by clicking the pod in the Topology view and confirming the Status in the Details panel. The pod status is Active when the pod is ready.
  2. From the Topology view, click the Open URL icon on the Developer Hub pod.

    operator install 1

2. Installing Red Hat Developer Hub on OpenShift Container Platform with the Helm chart

You can install Red Hat Developer Hub on OpenShift Container Platform by using the Helm chart with one of the following methods:

  • The OpenShift Container Platform console
  • The Helm CLI

2.1. Deploying Developer Hub from the OpenShift Container Platform web console with the Helm Chart

You can use a Helm chart to install Developer Hub on the Red Hat OpenShift Container Platform web console.

Helm is a package manager on OpenShift Container Platform that provides the following features:

  • Applies regular application updates using custom hooks
  • Manages the installation of complex applications
  • Provides charts that you can host on public and private servers
  • Supports rolling back to previous application versions

The Red Hat Developer Hub Helm chart is available in the Helm catalog on OpenShift Dedicated and OpenShift Container Platform.

Prerequisites

  • You are logged in to your OpenShift Container Platform account.
  • A user with the OpenShift Container Platform admin role has configured the appropriate roles and permissions within your project to create an application. For more information about OpenShift Container Platform roles, see Using RBAC to define and apply permissions.
  • You have created a project in OpenShift Container Platform. For more information about creating a project in OpenShift Container Platform, see Red Hat OpenShift Container Platform documentation.

Procedure

  1. From the Developer perspective on the Developer Hub web console, click +Add.
  2. From the Developer Catalog panel, click Helm Chart.
  3. In the Filter by keyword box, enter Developer Hub and click the Red Hat Developer Hub card.
  4. From the Red Hat Developer Hub page, click Create.
  5. From your cluster, copy the OpenShift Container Platform router host (for example: apps.<clusterName>.com).
  6. Select the radio button to configure the Developer Hub instance with either the form view or YAML view. The Form view is selected by default.

    • Using Form view

      1. To configure the instance with the Form view, go to Root SchemaglobalEnable service authentication within Backstage instance and paste your OpenShift Container Platform router host into the field on the form.
    • Using YAML view

      1. To configure the instance with the YAML view, paste your OpenShift Container Platform router hostname in the global.clusterRouterBase parameter value as shown in the following example:

        global:
          auth:
            backend:
              enabled: true
          clusterRouterBase: apps.<clusterName>.com
          # other Red Hat Developer Hub Helm Chart configurations
  7. Edit the other values if needed.

    Note

    The information about the host is copied and can be accessed by the Developer Hub backend.

    When an OpenShift Container Platform route is generated automatically, the host value for the route is inferred and the same host information is sent to the Developer Hub. Also, if the Developer Hub is present on a custom domain by setting the host manually using values, the custom host takes precedence.

  8. Click Create and wait for the database and Developer Hub to start.
  9. Click the Open URL icon to start using the Developer Hub platform.

    rhdh helm install
Note

Your developer-hub pod might be in a CrashLoopBackOff state if the Developer Hub container cannot access the configuration files. This error is indicated by the following log:

Loaded config from app-config-from-configmap.yaml, env
...
2023-07-24T19:44:46.223Z auth info Configuring "database" as KeyStore provider type=plugin
Backend failed to start up Error: Missing required config value at 'backend.database.client'

To resolve the error, verify the configuration files.

2.2. Deploying Developer Hub on OpenShift Container Platform with the Helm CLI

You can use the Helm CLI to install Red Hat Developer Hub on Red Hat OpenShift Container Platform.

Prerequisites

  • You have installed the OpenShift CLI (oc) on your workstation.
  • You are logged in to your OpenShift Container Platform account.
  • A user with the OpenShift Container Platform admin role has configured the appropriate roles and permissions within your project to create an application. For more information about OpenShift Container Platform roles, see Using RBAC to define and apply permissions.
  • You have created a project in OpenShift Container Platform. For more information about creating a project in OpenShift Container Platform, see Red Hat OpenShift Container Platform documentation.
  • You have installed the Helm CLI tool.

Procedure

  1. Create and activate the <rhdh> OpenShift Container Platform project:

    NAMESPACE=<emphasis><rhdh></emphasis>
    oc new-project ${NAMESPACE} || oc project ${NAMESPACE}
  2. Install the Red Hat Developer Hub Helm chart:

    helm upgrade redhat-developer-hub -i https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.4.0/redhat-developer-hub-1.4.0.tgz
  3. Configure your Developer Hub Helm chart instance with the Developer Hub database password and router base URL values from your OpenShift Container Platform cluster:

    PASSWORD=$(oc get secret redhat-developer-hub-postgresql -o jsonpath="{.data.password}" | base64 -d)
    CLUSTER_ROUTER_BASE=$(oc get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//')
    helm upgrade redhat-developer-hub -i "https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.4.0/redhat-developer-hub-1.4.0.tgz" \
        --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE" \
        --set global.postgresql.auth.password="$PASSWORD"
  4. Display the running Developer Hub instance URL:

    echo "https://redhat-developer-hub-$NAMESPACE.$CLUSTER_ROUTER_BASE"

Verification

  • Open the running Developer Hub instance URL in your browser to use Developer Hub.

Additional resources

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.