Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ metadata:
}
}
]
createdAt: "2026-01-21T13:33:19Z"
createdAt: "2026-02-08T12:53:56Z"
description: Backstage Operator
operators.operatorframework.io/builder: operator-sdk-v1.37.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ metadata:
categories: Developer Tools
certified: "true"
containerImage: registry.redhat.io/rhdh/rhdh-rhel9-operator:1.9
createdAt: "2026-01-21T13:33:21Z"
createdAt: "2026-02-08T12:53:58Z"
description: Red Hat Developer Hub is a Red Hat supported version of Backstage.
It comes with pre-built plug-ins and configuration settings, supports use of
an external database, and can help streamline the process of setting up a self-managed
Expand Down
82 changes: 42 additions & 40 deletions bundle/rhdh/manifests/rhdh-default-config_v1_configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -360,46 +360,48 @@ data:
securityContext:
# any group id
fsGroup: 1001
dynamic-plugins.yaml: "#apiVersion: v1\n#kind: ConfigMap\n#metadata:\n# name: default-dynamic-plugins
# must be the same as (deployment.yaml).spec.template.spec.volumes.name.dynamic-plugins-conf.configMap.name\n#data:\n#
\ \"dynamic-plugins.yaml\": |\n# ###########################################################################################################\n#
\ # /!\\ WARNING\n# #\n# # This is the default dynamic plugins configuration
file created and managed by the Operator for your CR.\n# # Do NOT edit this
manually in the Cluster, as your changes will be overridden by the Operator upon
the\n# # next reconciliation.\n# # If you want to customize the dynamic
plugins, you should create your own dynamic-plugins ConfigMap\n# # and reference
it in your CR.\n# # See https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_and_viewing_plugins_in_red_hat_developer_hub/rhdh-installing-rhdh-plugins_title-plugins-rhdh-about#proc-config-dynamic-plugins-rhdh-operator_rhdh-installing-rhdh-plugins\n#
\ # for more details or https://github.com/redhat-developer/rhdh-operator/blob/main/examples/rhdh-cr.yaml\n#
\ # for an example.\n# ###########################################################################################################\n#
\ includes:\n# - dynamic-plugins.default.yaml\n# plugins: []\n#---\napiVersion:
v1\nkind: ConfigMap\nmetadata:\n name: default-dynamic-plugins\ndata:\n dynamic-plugins.yaml:
|\n includes:\n - dynamic-plugins.default.yaml\n plugins:\n -
disabled: true\n package: \"@redhat/backstage-plugin-orchestrator@1.8.2\"\n
\ integrity: sha512-rnUA6iZ2JVAyASfwS4P9HeFmpqCgH6FQouzzg4s6lCPAsYUFvu6tifJ3df5lThXPUTJ2cDvvQgamU+4DiHP2jw==\n
\ pluginConfig:\n dynamicPlugins:\n frontend:\n red-hat-developer-hub.backstage-plugin-orchestrator:\n
\ appIcons:\n - importName: OrchestratorIcon\n
\ name: orchestratorIcon\n dynamicRoutes:\n
\ - importName: OrchestratorPage\n menuItem:\n
\ icon: orchestratorIcon\n text:
Orchestrator\n path: /orchestrator\n entityTabs:\n
\ - path: /workflows\n title: Workflows\n
\ mountPoint: entity.page.workflows\n mountPoints:\n
\ - mountPoint: entity.page.workflows/cards\n importName:
OrchestratorCatalogTab\n config:\n layout:\n
\ gridColumn: '1 / -1'\n if:\n
\ anyOf:\n - IsOrchestratorCatalogTabAvailable\n
\ - disabled: true\n package: \"@redhat/backstage-plugin-orchestrator-backend-dynamic@1.8.2\"\n
\ integrity: sha512-6G0YguzCM5nCDpOrIGJpLTXVMr6EBdIVqSXtsLH9RvBH25RTuFpfJ7q6eEp26DqveaiqUCfBpJ51smdjcsEzFQ==\n
\ pluginConfig:\n orchestrator:\n dataIndexService:\n
\ url: http://sonataflow-platform-data-index-service\n dependencies:\n
\ - ref: sonataflow\n - disabled: true\n package: \"@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.8.2\"\n
\ integrity: sha512-N2hCn9RI/QVEoK56FAkGkSDbvfQCOIzVsJTwDX0kf//npO++2crRSJpB1Lr/m2UtYxfaXZX53p8sPcK3g8yWkQ==\n
\ pluginConfig:\n orchestrator:\n dataIndexService:\n
\ url: http://sonataflow-platform-data-index-service \n
\ - disabled: true\n package: \"@redhat/backstage-plugin-orchestrator-form-widgets@1.8.2\"\n
\ integrity: sha512-Pe0dn3g+YTK3jbl36E8nt4zdyH/3w+MWgRyFWPc2B0eV4/L/aRfRC4KxcktmHPdamRGXTIaXL6cFae8TZl8Htw==\n
\ pluginConfig:\n dynamicPlugins:\n frontend:\n red-hat-developer-hub.backstage-plugin-orchestrator-form-widgets:
{ }"
dynamic-plugins.yaml: |
#apiVersion: v1
#kind: ConfigMap
#metadata:
# name: default-dynamic-plugins # must be the same as (deployment.yaml).spec.template.spec.volumes.name.dynamic-plugins-conf.configMap.name
#data:
# "dynamic-plugins.yaml": |
# ###########################################################################################################
# # /!\ WARNING
# #
# # This is the default dynamic plugins configuration file created and managed by the Operator for your CR.
# # Do NOT edit this manually in the Cluster, as your changes will be overridden by the Operator upon the
# # next reconciliation.
# # If you want to customize the dynamic plugins, you should create your own dynamic-plugins ConfigMap
# # and reference it in your CR.
# # See https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_and_viewing_plugins_in_red_hat_developer_hub/rhdh-installing-rhdh-plugins_title-plugins-rhdh-about#proc-config-dynamic-plugins-rhdh-operator_rhdh-installing-rhdh-plugins
# # for more details or https://github.com/redhat-developer/rhdh-operator/blob/main/examples/rhdh-cr.yaml
# # for an example.
# ###########################################################################################################
# includes:
# - dynamic-plugins.default.yaml
# plugins: []
#---
apiVersion: v1
kind: ConfigMap
metadata:
name: default-dynamic-plugins
data:
dynamic-plugins.yaml: |
includes:
- dynamic-plugins.default.yaml
plugins:
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator:{{inherit}}'
disabled: true
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend:{{inherit}}'
disabled: true
dependencies:
- ref: sonataflow
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:{{inherit}}'
disabled: true
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:{{inherit}}'
disabled: true
route.yaml: |-
apiVersion: route.openshift.io/v1
kind: Route
Expand Down
58 changes: 8 additions & 50 deletions config/profile/rhdh/default-config/dynamic-plugins.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,55 +29,13 @@ data:
includes:
- dynamic-plugins.default.yaml
plugins:
- disabled: true
package: "@redhat/backstage-plugin-orchestrator@1.8.2"
integrity: sha512-rnUA6iZ2JVAyASfwS4P9HeFmpqCgH6FQouzzg4s6lCPAsYUFvu6tifJ3df5lThXPUTJ2cDvvQgamU+4DiHP2jw==
pluginConfig:
dynamicPlugins:
frontend:
red-hat-developer-hub.backstage-plugin-orchestrator:
appIcons:
- importName: OrchestratorIcon
name: orchestratorIcon
dynamicRoutes:
- importName: OrchestratorPage
menuItem:
icon: orchestratorIcon
text: Orchestrator
path: /orchestrator
entityTabs:
- path: /workflows
title: Workflows
mountPoint: entity.page.workflows
mountPoints:
- mountPoint: entity.page.workflows/cards
importName: OrchestratorCatalogTab
config:
layout:
gridColumn: '1 / -1'
if:
anyOf:
- IsOrchestratorCatalogTabAvailable
- disabled: true
package: "@redhat/backstage-plugin-orchestrator-backend-dynamic@1.8.2"
integrity: sha512-6G0YguzCM5nCDpOrIGJpLTXVMr6EBdIVqSXtsLH9RvBH25RTuFpfJ7q6eEp26DqveaiqUCfBpJ51smdjcsEzFQ==
pluginConfig:
orchestrator:
dataIndexService:
url: http://sonataflow-platform-data-index-service
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator:{{inherit}}'
disabled: true
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend:{{inherit}}'
disabled: true
dependencies:
- ref: sonataflow
- disabled: true
package: "@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.8.2"
integrity: sha512-N2hCn9RI/QVEoK56FAkGkSDbvfQCOIzVsJTwDX0kf//npO++2crRSJpB1Lr/m2UtYxfaXZX53p8sPcK3g8yWkQ==
pluginConfig:
orchestrator:
dataIndexService:
url: http://sonataflow-platform-data-index-service
- disabled: true
package: "@redhat/backstage-plugin-orchestrator-form-widgets@1.8.2"
integrity: sha512-Pe0dn3g+YTK3jbl36E8nt4zdyH/3w+MWgRyFWPc2B0eV4/L/aRfRC4KxcktmHPdamRGXTIaXL6cFae8TZl8Htw==
pluginConfig:
dynamicPlugins:
frontend:
red-hat-developer-hub.backstage-plugin-orchestrator-form-widgets: { }
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:{{inherit}}'
disabled: true
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:{{inherit}}'
disabled: true
82 changes: 42 additions & 40 deletions dist/rhdh/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2173,46 +2173,48 @@ data:
securityContext:
# any group id
fsGroup: 1001
dynamic-plugins.yaml: "#apiVersion: v1\n#kind: ConfigMap\n#metadata:\n# name: default-dynamic-plugins
# must be the same as (deployment.yaml).spec.template.spec.volumes.name.dynamic-plugins-conf.configMap.name\n#data:\n#
\ \"dynamic-plugins.yaml\": |\n# ###########################################################################################################\n#
\ # /!\\ WARNING\n# #\n# # This is the default dynamic plugins configuration
file created and managed by the Operator for your CR.\n# # Do NOT edit this
manually in the Cluster, as your changes will be overridden by the Operator upon
the\n# # next reconciliation.\n# # If you want to customize the dynamic
plugins, you should create your own dynamic-plugins ConfigMap\n# # and reference
it in your CR.\n# # See https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_and_viewing_plugins_in_red_hat_developer_hub/rhdh-installing-rhdh-plugins_title-plugins-rhdh-about#proc-config-dynamic-plugins-rhdh-operator_rhdh-installing-rhdh-plugins\n#
\ # for more details or https://github.com/redhat-developer/rhdh-operator/blob/main/examples/rhdh-cr.yaml\n#
\ # for an example.\n# ###########################################################################################################\n#
\ includes:\n# - dynamic-plugins.default.yaml\n# plugins: []\n#---\napiVersion:
v1\nkind: ConfigMap\nmetadata:\n name: default-dynamic-plugins\ndata:\n dynamic-plugins.yaml:
|\n includes:\n - dynamic-plugins.default.yaml\n plugins:\n -
disabled: true\n package: \"@redhat/backstage-plugin-orchestrator@1.8.2\"\n
\ integrity: sha512-rnUA6iZ2JVAyASfwS4P9HeFmpqCgH6FQouzzg4s6lCPAsYUFvu6tifJ3df5lThXPUTJ2cDvvQgamU+4DiHP2jw==\n
\ pluginConfig:\n dynamicPlugins:\n frontend:\n red-hat-developer-hub.backstage-plugin-orchestrator:\n
\ appIcons:\n - importName: OrchestratorIcon\n
\ name: orchestratorIcon\n dynamicRoutes:\n
\ - importName: OrchestratorPage\n menuItem:\n
\ icon: orchestratorIcon\n text:
Orchestrator\n path: /orchestrator\n entityTabs:\n
\ - path: /workflows\n title: Workflows\n
\ mountPoint: entity.page.workflows\n mountPoints:\n
\ - mountPoint: entity.page.workflows/cards\n importName:
OrchestratorCatalogTab\n config:\n layout:\n
\ gridColumn: '1 / -1'\n if:\n
\ anyOf:\n - IsOrchestratorCatalogTabAvailable\n
\ - disabled: true\n package: \"@redhat/backstage-plugin-orchestrator-backend-dynamic@1.8.2\"\n
\ integrity: sha512-6G0YguzCM5nCDpOrIGJpLTXVMr6EBdIVqSXtsLH9RvBH25RTuFpfJ7q6eEp26DqveaiqUCfBpJ51smdjcsEzFQ==\n
\ pluginConfig:\n orchestrator:\n dataIndexService:\n
\ url: http://sonataflow-platform-data-index-service\n dependencies:\n
\ - ref: sonataflow\n - disabled: true\n package: \"@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.8.2\"\n
\ integrity: sha512-N2hCn9RI/QVEoK56FAkGkSDbvfQCOIzVsJTwDX0kf//npO++2crRSJpB1Lr/m2UtYxfaXZX53p8sPcK3g8yWkQ==\n
\ pluginConfig:\n orchestrator:\n dataIndexService:\n
\ url: http://sonataflow-platform-data-index-service \n
\ - disabled: true\n package: \"@redhat/backstage-plugin-orchestrator-form-widgets@1.8.2\"\n
\ integrity: sha512-Pe0dn3g+YTK3jbl36E8nt4zdyH/3w+MWgRyFWPc2B0eV4/L/aRfRC4KxcktmHPdamRGXTIaXL6cFae8TZl8Htw==\n
\ pluginConfig:\n dynamicPlugins:\n frontend:\n red-hat-developer-hub.backstage-plugin-orchestrator-form-widgets:
{ }"
dynamic-plugins.yaml: |
#apiVersion: v1
#kind: ConfigMap
#metadata:
# name: default-dynamic-plugins # must be the same as (deployment.yaml).spec.template.spec.volumes.name.dynamic-plugins-conf.configMap.name
#data:
# "dynamic-plugins.yaml": |
# ###########################################################################################################
# # /!\ WARNING
# #
# # This is the default dynamic plugins configuration file created and managed by the Operator for your CR.
# # Do NOT edit this manually in the Cluster, as your changes will be overridden by the Operator upon the
# # next reconciliation.
# # If you want to customize the dynamic plugins, you should create your own dynamic-plugins ConfigMap
# # and reference it in your CR.
# # See https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_and_viewing_plugins_in_red_hat_developer_hub/rhdh-installing-rhdh-plugins_title-plugins-rhdh-about#proc-config-dynamic-plugins-rhdh-operator_rhdh-installing-rhdh-plugins
# # for more details or https://github.com/redhat-developer/rhdh-operator/blob/main/examples/rhdh-cr.yaml
# # for an example.
# ###########################################################################################################
# includes:
# - dynamic-plugins.default.yaml
# plugins: []
#---
apiVersion: v1
kind: ConfigMap
metadata:
name: default-dynamic-plugins
data:
dynamic-plugins.yaml: |
includes:
- dynamic-plugins.default.yaml
plugins:
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator:{{inherit}}'
disabled: true
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend:{{inherit}}'
disabled: true
dependencies:
- ref: sonataflow
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:{{inherit}}'
disabled: true
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:{{inherit}}'
disabled: true
route.yaml: |-
apiVersion: route.openshift.io/v1
kind: Route
Expand Down
20 changes: 10 additions & 10 deletions docs/orchestrator.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,16 +80,16 @@ To enable the orchestrator plugin, you should refer the dynamic plugins ConfigMa
includes:
- dynamic-plugins.default.yaml
plugins:
- package: "@redhat/backstage-plugin-orchestrator@1.8.2"
disabled: false
- package: "@redhat/backstage-plugin-orchestrator-backend-dynamic@1.8.2"
disabled: false
dependencies:
- ref: sonataflow
- package: "@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.8.2"
disabled: false
- package: "@redhat/backstage-plugin-orchestrator-form-widgets@1.8.2"
disabled: false
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator:{{inherit}}'
disabled: false
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend:{{inherit}}'
disabled: false
dependencies:
- ref: sonataflow
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:{{inherit}}'
disabled: false
- package: 'oci://registry.access.redhat.com/rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:{{inherit}}'
disabled: false
```

See [example](/examples/orchestrator.yaml) for a complete configuration of the orchestrator plugin.
Expand Down
Loading