第 1 章 在 Red Hat Developer Hub 中安装动态插件
动态插件支持基于 backend 插件管理器软件包,它是一个在 app-config.yaml 文件中扫描配置的根目录(dynamicPlugins.rootDirectory )的服务,并动态加载它们。
您可以使用预安装 Red Hat Developer Hub 的动态插件,或者从公共 NPM registry 安装外部动态插件。
1.1. 使用 Red Hat Developer Hub Operator 安装动态插件 复制链接链接已复制到粘贴板!
您可以将动态插件的配置存储在 Backstage 自定义资源(CR)可引用的 ConfigMap 对象中。
如果 pluginConfig 字段引用环境变量,则必须在 < my_product_secrets > secret 中定义变量。
流程
- 在 OpenShift Container Platform Web 控制台中选择 ConfigMaps 选项卡。
- 点 Create ConfigMap。
在 Create ConfigMap 页面中,选择 Configure via 中的 YAML view 选项,并根据需要编辑该文件。
使用 GitHub 动态插件的
ConfigMap对象示例kind: ConfigMap apiVersion: v1 metadata: name: dynamic-plugins-rhdh data: dynamic-plugins.yaml: | includes: - dynamic-plugins.default.yaml plugins: - package: './dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic' disabled: false pluginConfig: catalog: providers: github: organization: "${GITHUB_ORG}" schedule: frequency: { minutes: 1 } timeout: { minutes: 1 } initialDelay: { seconds: 100 }- 点 Create。
- 进入 Topology 视图。
点您要使用的 Red Hat Developer Hub 实例的溢出菜单,然后选择 Edit Backstage 以加载 Red Hat Developer Hub 实例的 YAML 视图。
将
dynamicPluginsConfigMapName字段添加到BackstageCR。例如:apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: my-rhdh spec: application: # ... dynamicPluginsConfigMapName: dynamic-plugins-rhdh # ...- 点击 Save。
- 返回到 Topology 视图并等待 Red Hat Developer Hub pod 启动。
- 点 Open URL 图标以使用 Red Hat Developer Hub 平台以及新的配置更改。
验证
通过在 Red Hat Developer Hub root URL 中附加
/api/dynamic-plugins-info/loaded-plugins并检查插件列表来确保动态插件配置已被加载:插件列表示例
[ { "name": "backstage-plugin-catalog-backend-module-github-dynamic", "version": "0.5.2", "platform": "node", "role": "backend-plugin-module" }, { "name": "backstage-plugin-techdocs", "version": "1.10.0", "role": "frontend-plugin", "platform": "web" }, { "name": "backstage-plugin-techdocs-backend-dynamic", "version": "1.9.5", "platform": "node", "role": "backend-plugin" }, ]