第 3 章 使用 Red Hat Developer Hub Operator 使用 Orchestrator 安装 Red Hat Developer Hub


您可以使用 Red Hat Developer Hub Operator 使用 Orchestrator 安装 Red Hat Developer Hub。

3.1. 使用 Operator 启用 Orchestrator 插件

您可以通过在 Backstage 自定义资源(CR)中配置动态插件,在 RHDH 中启用 Orchestrator 插件。

先决条件

  • 您已在 OpenShift Container Platform 上安装了 RHDH。
  • 您可以访问在部署 Backstage CR 的命名空间中编辑或创建 ConfigMap。

流程

  1. 要启用带有默认设置的 Orchestrator 插件,请为软件包设置 disabled: false。例如,package: "@redhat/backstage-plugin-orchestrator@<plugin_version& gt; 设置为 disabled: false

    - package: "@redhat/backstage-plugin-orchestrator@<plugin_version>"
      disabled: false
    注意

    启用插件时,会使用预加载插件配置。另外,ref: sonataflow 字段会安装 Openshift Serverless 和 Openshift Serverless Logic 资源。使用 Operator 时会自动发生这种情况。

    示例: Orchestrator 插件的完整配置

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: orchestrator-plugin
    data:
        dynamic-plugins.yaml: |
          includes:
            - dynamic-plugins.default.yaml
          plugins:
            - package: "@redhat/backstage-plugin-orchestrator@1.8.2"
              disabled: false
              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
            - package: "@redhat/backstage-plugin-orchestrator-backend-dynamic@1.8.2"
              disabled: false
              pluginConfig:
                orchestrator:
                  dataIndexService:
                    url: http://sonataflow-platform-data-index-service
              dependencies:
                - ref: sonataflow
            - package: "@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.8.2"
              disabled: false
              pluginConfig:
                orchestrator:
                  dataIndexService:
                    url: http://sonataflow-platform-data-index-service
            - package: "@redhat/backstage-plugin-orchestrator-form-widgets@1.8.2"
              disabled: false
              pluginConfig:
                dynamicPlugins:
                  frontend:
                    red-hat-developer-hub.backstage-plugin-orchestrator-form-widgets: { }
    ---
    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    metadata:
      name: orchestrator
    spec:
      application:
        appConfig:
          configMaps:
            - name: app-config-rhdh
        dynamicPluginsConfigMapName: orchestrator-plugin

  2. 创建一个包含 BACKEND_SECRET 值的 secret,如下例所示:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: app-config-rhdh
    data:
      app-config.yaml: |-
        auth:
          environment: development
          providers:
            guest:
              # using the guest user to query the '/api/dynamic-plugins-info/loaded-plugins' endpoint.
              dangerouslyAllowOutsideDevelopment: true
        backend:
          auth:
            externalAccess:
              - type: static
                options:
                  token: ${BACKEND_SECRET}
                  subject: orchestrator
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: backend-auth-secret
    stringData:
      # generated with the command below (from https://backstage.io/docs/auth/service-to-service-auth/#setup):
      # node -p 'require("crypto").randomBytes(24).toString("base64")'
      # notsecret
      BACKEND_SECRET: "R2FxRVNrcmwzYzhhN3l0V1VRcnQ3L1pLT09WaVhDNUEK"
  3. 配置 Backstage CR 以更新 extraEnvs 字段中的 secret 名称,如下例所示:

    apiVersion: rhdh.redhat.com/v1alpha4
    kind: Backstage
    metadata:
      name: orchestrator
    spec:
      application:
        appConfig:
          configMaps:
            - name: app-config-rhdh
        dynamicPluginsConfigMapName: orchestrator-plugin
        extraEnvs:
          secrets:
              # secret that contains the BACKEND_SECRET key
            - name: backend-auth-secret

验证

  • 在 RHDH 控制台中,确认 Orchestrator frontend 和 backend 功能是否可用。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部