第 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。
流程
要启用带有默认设置的 Orchestrator 插件,请为软件包设置
disabled: false。例如,package: "@redhat/backstage-plugin-orchestrator@<plugin_version> 设置为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创建一个包含
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"配置 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 功能是否可用。