Orchestrator in Red Hat Developer Hub
Orchestrator enables serverless workflows for cloud migration, onboarding, and customization in Red Hat Developer Hub
Abstract
- 1. About Orchestrator in Red Hat Developer Hub
- 2. Installing Red Hat Developer Hub with Orchestrator
- 2.1. Enabling the Orchestrator plugin using Operator
- 2.2. Installing Red Hat Developer Hub (RHDH) on OpenShift Container Platform with the Orchestrator using the Helm CLI
- 2.3. Install Red Hat Developer Hub (RHDH) using Helm from the OpenShift Container Platform web console
- 2.4. Resource limits for installing Red Hat Developer Hub with the Orchestrator plugin when using Helm
1. About Orchestrator in Red Hat Developer Hub
You can streamline and automate your work by using the Orchestrator in Red Hat Developer Hub. It enables you to:
- Design, run, and monitor workflows to simplify multi-step processes across applications and services.
- Standardize onboarding, migration, and integration workflows to reduce manual effort and improve consistency.
- Extend RHDH with enterprise-grade Orchestration features to support collaboration and scalability.
Orchestrator currently supports only Red Hat OpenShift Container Platform (OpenShift Container Platform); it is not available on Microsoft Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS), or Google Kubernetes Engine (GKE).
To start using Orchestrator in RHDH, you must:
- Install the required infrastructure components, such as Red Hat OpenShift Serverless Operator, Knative Serving, Knative Eventing, and OpenShift Serverless Logic Operator
- Configure your Backstage custom resource (CR) or Helm values file for Orchestrator
- Import the Orchestrator software templates into the Red Hat Developer Hub catalog
1.1. Supported architecture for Orchestrator
You can use Orchestrator to design, run, and monitor workflows that automate key tasks. It builds on components like SonataFlow and OpenShift Serverless, which provide the runtime environment and event-driven capabilities needed to power your workflows.
To help you get started quickly, the following Orchestrator plugin components are included by default in the dynamic-plugins.default.yaml
file:
-
"backstage-plugin-orchestrator"
-
"backstage-plugin-orchestrator-backend-dynamic"
-
"backstage-plugin-scaffolder-backend-module-orchestrator-dynamic"
-
"backstage-plugin-orchestrator-form-widgets"
1.2. Understanding Orchestrator plugin dependencies for Operator installation
The Orchestrator plugin in RHDH requires components such as SonataFlow and supporting network policies to run. When you enable the plugin in your Backstage custom resource (CR), the Operator automatically provisions these dependencies for you:
-
A
SonataflowPlatform
CR -
NetworkPolicies
that allow traffic between infrastructure resources (Knative, Serverless Logic Operator), monitoring traffic, and intra-namespace traffic
The orchestrator-backend
plugin uses the sonataflow-platform-data-index-service
, which the SonataFlowPlatform
CR creates to communicate with the SonataFlow platform.
The SonataFlowPlatform
CR contains Data Index service that requires PostgreSQL database as shown in the following example:
persistence: postgresql: secretRef: name: backstage-psql-secret-{{backstage-name}} userKey: POSTGRES_USER passwordKey: POSTGRES_PASSWORD serviceRef: name: backstage-psql-{{backstage-name}} # # Namespace where the Backstage CR is created namespace: {{backstage-ns}} # Namespace where the Backstage (CR) is created databaseName: backstage_plugin_orchestrator
By default, the Orchestrator plugin dependencies use the following:
-
The PostgreSQL database named
backstage_plugin_orchestrator
created by Backstage -
A Secret created by Backstage Operator for the PostgreSQL with
POSTGRES_USER
andPOSTGRES_PASSWORD
keys as the database credentials in the Backstage CR namespace. -
A Service created by Backstage Operator for the PostgreSQL database with the name
backstage-psql-{{backstage-name}}
in the Backstage CR namespace.
For more information about automatic plugin dependency creation when the Backstage CR is applied to the cluster, see Dynamic plugins dependency management.
To enable the Backstage Operator to work with the SonataFlow platform, its ServiceAccount
must have the appropriate permissions.
The Operator automatically creates the required Role and RoleBinding resource in profile/rhdh/plugin-rbac
directory.
1.3. Installing the components for the Orchestrator plugin on OpenShift Container Platform
To run the Orchestrator plugin successfully on OpenShift Container Platform, you must install components that provide the runtime environment and the dependencies that the plugin requires.
Prerequisites
To install the Orchestrator plugin on OpenShift Container Platform, you require the following components installed:
- OpenShift Serverless Operator
- Knative Serving
- Knative Eventing
OpenShift Serverless Logic Operator
NoteYou must preinstall the components, or install them by using one of the supported methods.
Procedure
To install components (Operators) that provide the dependencies required by the Orchestrator plugin on OpenShift Container Platform, use the following methods:
- Manual installation
- RHDH helper script
- Orchestrator Infrastructure for Red Hat Developer Hub Helm chart
Manual installation
Use manual installation for production environments. Choose this method when you have installed the required components versions, such as when other applications are using OpenShift Serverless.
For more information on preparing the required infrastructure, see Red Hat OpenShift Serverless to do the following:
- Prepare for OpenShift Serverless installation
- Install the OpenShift Serverless Operator
- Install Knative Serving
- Install Knative Eventing
- Install the OpenShift Serverless Logic Operator
RHDH helper script
You can install the OpenShift Serverless infrastructure for the Orchestrator plugin using the RHDH helper script.
For more information on controlling the installation of the Operators, see Install your Operator with OLM.
Use the RHDH helper script for a quick-start. Do not use it in production.
Procedure
Download the
plugin-infra.sh
script as shown in the following example:curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-${PRODUCT_VERSION}/config/profile/rhdh/plugin-infra/plugin-infra.sh # Specify the Red Hat Developer Hub version in the URL or use main
Run the script as shown in the following example:
$ ./plugin-infra.sh
Orchestrator Infrastructure for Red Hat Developer Hub Helm chart
You can use Orchestrator Infrastructure for Red Hat Developer Hub to install components for the Orchestrator plugins.
By default, Orchestrator Infrastructure for Red Hat Developer Hub Helm chart does not auto-install or auto-upgrade the required Serverless Operators: you must approve the install plans.
2. Installing Red Hat Developer Hub with Orchestrator
To install Red Hat Developer Hub, use one of the following methods:
- The Red Hat Developer Hub Operator
- The Red Hat Developer Hub Helm chart
2.1. Enabling the Orchestrator plugin using Operator
You can enable the Orchestrator plugin in RHDH by configuring dynamic plugins in your Backstage custom resource (CR).
Prerequisites
- You have installed RHDH on OpenShift Container Platform.
- You have access to edit or create ConfigMaps in the namespace where the Backstage CR is deployed.
Procedure
To enable the Orchestrator plugin with default settings, set
disabled: false
for the package. For example,package: "@redhat/backstage-plugin-orchestrator@<plugin_version>
is set todisabled: false
:- package: "@redhat/backstage-plugin-orchestrator@<plugin_version>" disabled: false
Example: Complete configuration of the Orchestrator plugin
apiVersion: v1 kind: ConfigMap metadata: name: orchestrator-plugin data: dynamic-plugins.yaml: | includes: - dynamic-plugins.default.yaml plugins: - package: "@redhat/backstage-plugin-orchestrator@1.6.0" disabled: false - package: "@redhat/backstage-plugin-orchestrator-backend-dynamic@1.6.0" disabled: false dependencies: - ref: sonataflow - package: "@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.6.0" disabled: false - package: "@redhat/backstage-plugin-orchestrator-form-widgets@1.6.0" disabled: false --- apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: orchestrator spec: application: appConfig: configMaps: - name: app-config-rhdh dynamicPluginsConfigMapName: orchestrator-plugin
Verification
- In the RHDH console, confirm that the Orchestrator frontend and backend features are available.
2.2. Installing Red Hat Developer Hub (RHDH) on OpenShift Container Platform with the Orchestrator using the Helm CLI
You can install Red Hat Developer Hub (RHDH) on OpenShift Container Platform with the Orchestrator by using the Helm CLI. The installation automatically enables the required dynamic plugins and integrates workflow infrastructure.
Prerequisites
- You are logged in as an administrator and have access to the Red Hat Developer Hub Helm chart repository.
You can install the necessary infrastructures resources, such as SonataFlow, alongside RHDH in the same namespace.
This is a one-off requirement and must be completed before enabling the Orchestrator plugin.
Procedure
As an administrator, install relevant cluster-wide resources.
helm repo add openshift-helm-charts https://charts.openshift.io/ helm install
<release_name>
openshift-helm-charts/redhat-developer-hub-orchestrator-infraImportantYou must be an administrator to install the
redhat-developer-hub-orchestrator-infra
Helm chart because it deploys additional cluster-scoped OpenShift Serverless and OpenShift Serverless Logic Operators. As an administrator, you need to manually approve the install plans for OpenShift Serverless and Serverless Logic Operators.Install the Backstage chart with the orchestrator enabled as shown in the following example:
$ helm install <release_name> openshift-helm-charts/redhat-developer-hub --version 1.7.0 \ --set orchestrator.enabled=true
(Optional) Enable Notifications and Signals plugins by adding them to the
global.dynamic.plugins
list in yourvalues.yaml
file as shown in the following example:global: dynamic: plugins: - disabled: false package: "./dynamic-plugins/dist/backstage-plugin-notifications" - disabled: false package: "./dynamic-plugins/dist/backstage-plugin-signals" - disabled: false package: "./dynamic-plugins/dist/backstage-plugin-notifications-backend-dynamic" - disabled: false package: "./dynamic-plugins/dist/backstage-plugin-signals-backend-dynamic"
(Optional) You can disable the Serverless Logic and Serverless Operators individually or together by setting their values to
false
, as shown in the following example:helm install <release_name> openshift-helm-charts/redhat-developer-hub \ --version 1.7.0 \ --set orchestrator.enabled=true \ --set orchestrator.serverlessOperator=false \ --set orchestrator.serverlessLogicOperator=false
(Optional) If you are using an external database, add the following configuration under
orchestrator.sonataflowPlatform
in yourvalues.yaml
file:orchestrator: sonataflowPlatform: externalDBsecretRef: "<cred-secret>" externalDBName: "<database_name>" # The name of the user-configured existing database (Not the database that the orchestrator and sonataflow resources use). externalDBHost: "<database_host>" externalDBPort: "<database_port>"
NoteThis step only configures the Orchestrators use of an external database. To configure Red Hat Developer Hub to use an external PostgreSQL instance, follow the steps in Configuring a PostgreSQL instance using Helm.
Verification
- Verify that the Orchestrator plugin is visible in the Red Hat Developer Hub UI.
- Create and run sample workflows to confirm the orchestration is functioning correctly.
2.3. Install Red Hat Developer Hub (RHDH) using Helm from the OpenShift Container Platform web console
You can install Red Hat Developer Hub (RHDH) with the Orchestrator by using the (OpenShift Container Platform) web console. This method is useful if you prefer a graphical interface or want to deploy cluster-wide resources without using the Helm CLI.
Prerequisites
- You are logged in to the OpenShift Container Platform web console as an administrator.
- You have access to the Red Hat Developer Hub Helm chart repository.
- Your cluster has internet access or the Helm charts are mirrored in a disconnected environment.
Procedure
- In the OpenShift Container Platform web console, go to → .
- Click and confirm that the Red Hat Developer Hub Helm chart repository is available.
Search for the Orchestrator infrastructure for Red Hat Developer Hub and click
.ImportantYou must be an administrator to install the Orchestrator Infrastructure for Red Hat Developer Hub Helm chart because it deploys cluster-scoped resources. As an administrator, you need to manually approve the install plans for OpenShift Serverless and Serverless Logic Operators.
As a regular user, search for the Red Hat Developer Hub chart and install it by setting the value of
orchestrator.enabled
totrue
. Otherwise, the Orchestrator will not be deployed.- Wait until they are successfully deployed.
- Monitor the deployment status by navigating to → or → .
Verification
After deployment completes:
- The orchestrator-related pods are running in the selected namespace.
- Cluster-wide resources are present.
- You can start connecting the orchestrator to your Red Hat Developer Hub UI.
2.4. Resource limits for installing Red Hat Developer Hub with the Orchestrator plugin when using Helm
When installing Red Hat Developer Hub (RHDH) with the Orchestrator plugin using Helm, the chart defines default CPU and memory limits for the SonataFlowPlatform
component.
These limits are enforced by the cluster so that pods do not exceed their allocated resources.
- Default resource limits
Resource | Default value |
---|---|
CPU limits |
|
Memory limits |
|
You can override these values in any of the following ways:
-
With
values.yaml
-
With
--set
flags
-
With
Override defaults with
values.yaml
as shown in the following example:orchestrator: enabled: true sonataflowPlatform: resources: limits: cpu: "500m" memory: "1Gi"
Override with
--set
as shown in the following example:helm upgrade --install <release_name> openshift-helm-charts/redhat-developer-hub \ --set orchestrator.enabled=true \ --set orchestrator.sonataflowPlatform.resources.requests.cpu=500m \ --set orchestrator.sonataflowPlatform.resources.requests.memory=128Mi \ --set orchestrator.sonataflowPlatform.resources.limits.cpu=1 \ --set orchestrator.sonataflowPlatform.resources.limits.memory=2Gi
NoteThe
--set
setting is applicable only whenorchestrator.enabled
istrue
. By default, it is set tofalse
.