4.5. 使用扩展管理插件
您可以使用 扩展 来安装和配置插件。
使用扩展安装和配置插件仅在开发环境中正常工作。在生产环境中不支持此功能。
在生产环境中,用户会收到不允许插件安装的通知。
在开发环境中:
- 管理员可以使用编辑器中预加载的默认配置来安装插件,或者在安装前修改配置。成功安装后,用户会收到需要重启后端才能完成安装过程。
安装插件后,管理员可以访问插件侧面面板中的 Actions 下拉菜单。可用的操作包括:
- 编辑在安装过程中使用的配置
- 禁用或启用插件
- 执行这些操作后,用户会收到需要重启后端才能使更改生效。
4.5.1. 配置 RBAC 以管理扩展 复制链接链接已复制到粘贴板!
您可以通过创建或更新和现有的 RBAC 角色来添加扩展权限。有关使用 RBAC 管理基于角色的访问控制的更多信息,请参阅使用 Red Hat Developer Hub Web UI 管理基于角色的访问控制(RBAC)。
4.5.1.1. 在 Developer Hub UI 中创建角色以管理扩展 复制链接链接已复制到粘贴板!
先决条件
- 您已启用了 RBAC,在 Developer Hub 中有一个策略管理员角色,并添加了带有权限的插件。
流程
进入 Developer Hub 中边栏底部的 管理。
此时会出现 RBAC 选项卡,在 Developer Hub 中显示所有创建的角色。
- 单击 Create 以创建角色。
- 在给定字段中输入角色的用户名和密码(可选),然后单击 Next。
- 在 Add users and groups 中,选择用户名,然后单击 Next。
- 在 添加权限策略 中,从插件下拉菜单中选择 扩展。
- 展开 Extensions,为 Extensions 插件选择 Create 和 Read 权限,然后点 Next。
单击 Create 以创建该角色。
验证
刷新 RHDH 应用程序时,当您选择插件时,Actions 下拉列表是活跃的。当点 Actions 下拉菜单时,您可以编辑插件配置,并启用或禁用插件。
4.5.2. 配置 RHDH 以使用扩展安装插件 复制链接链接已复制到粘贴板!
当使用 Extensions UI 安装插件时,您使用的配置会保存到 dynamic-plugins-root 持久性卷中的 dynamic-plugins.extensions.yaml 文件中。这样可确保在重启应用程序时可以使用配置,供您编辑或重新启用插件。
您必须创建一个持久性卷声明(PVC),以确保在重启 RHDH 应用程序时缓存会保留。有关使用动态插件缓存的更多信息,请参阅使用动态插件缓存。
先决条件
- 您已使用名称 dynamic-plugins-root 为动态插件缓存创建一个持久性卷声明(PVC)。
- 已使用 Helm Chart 或 Operator 安装 Red Hat Developer Hub。
-
已安装 OpenShift CLI(
oc)。
流程
创建扩展配置文件并将其保存为
dynamic-plugins.extensions.yaml。例如:includes: - dynamic-plugins.default.yaml plugins: - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-marketplace: appIcons: - name: marketplace importName: MarketplaceIcon dynamicRoutes: - path: /extensions/catalog importName: DynamicMarketplacePluginRouter mountPoints: - mountPoint: application/provider importName: InstallationContextProvider - mountPoint: internal.plugins/tab importName: DynamicMarketplacePluginContent config: path: marketplace title: Catalog icon: CatalogTabIcon - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic disabled: false pluginConfig: extensions: installation: enabled: true saveToSingleFile: file: /opt/app-root/src/dynamic-plugins-root/dynamic-plugins.extensions.yaml运行以下命令将文件复制到集群中:
oc get pods -n <your-namespace> oc cp ./dynamic-plugins.extensions.yaml <your-namespace>/<pod-name>:/opt/app-root/src/dynamic-plugins-root/dynamic-plugins.extensions.yaml更新您的 RHDH 应用程序以使用此文件:
对于基于 operator 的安装:
更新 Backstage CR,将
NODE_ENV环境变量更新为development,如下所示:apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: developer-hub namespace: rhdh spec: application: dynamicPluginsConfigMapName: dynamic-plugins-rhdh extraEnvs: envs: - name: NODE_ENV value: "development" secrets: - name: secrets-rhdh extraFiles: mountPath: /opt/app-root/src route: enabled: true database: enableLocalDb: true更新您的
dynamic-plugins-rhdh配置映射使其包含您的扩展配置文件,如下所示:kind: ConfigMap apiVersion: v1 metadata: name: dynamic-plugins-rhdh namespace: rhdh data: dynamic-plugins.yaml: | includes: - dynamic-plugins.default.yaml - /dynamic-plugins-root/dynamic-plugins.extensions.yaml plugins: []
对于 Helm Chart 安装:
升级 Helm 发行版本使其包含扩展配置文件,并将
NODE_ENV环境变量更新为development:global: auth: backend: enabled: true clusterRouterBase: apps.<clusterName>.com dynamic: includes: - dynamic-plugins.default.yaml - /dynamic-plugins-root/dynamic-plugins.extensions.yaml upstream: backstage: extraEnvVars: - name: NODE_ENV value: development- 点 Upgrade
验证
使用 Extensions UI 启用插件,重启 RHDH 应用程序并刷新 UI 以确认插件是否已启用。
4.5.3. 配置 RHDH Local 以使用扩展安装插件 复制链接链接已复制到粘贴板!
您可以使用 RHDH Local 来使用扩展来测试安装插件。
先决条件
- 您已安装了 RHDH Local。有关设置 RHDH Local 的更多信息,请参阅使用 Red Hat Developer Hub 进行本地测试。
流程
更新您的
dynamic-plugins.override.yaml文件:includes: - dynamic-plugins.default.yaml plugins: - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-marketplace: appIcons: - name: marketplace importName: MarketplaceIcon dynamicRoutes: - path: /extensions/catalog importName: DynamicMarketplacePluginRouter mountPoints: - mountPoint: application/provider importName: InstallationContextProvider - mountPoint: internal.plugins/tab importName: DynamicMarketplacePluginContent config: path: marketplace title: Catalog - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic disabled: false pluginConfig: extensions: installation: enabled: true saveToSingleFile: file: /opt/app-root/src/configs/dynamic-plugins/dynamic-plugins.override.yaml更新
compose.yaml文件:rhdh: container_name: rhdh environment: NODE_OPTIONS: "--inspect=0.0.0.0:9229" NODE_ENV: "development"
验证
使用 Extensions UI 启用插件,重启 RHDH 应用程序并刷新 UI 以确认插件是否已启用。
4.5.4. 使用扩展安装插件 复制链接链接已复制到粘贴板!
您可以使用扩展来安装和配置插件。
先决条件
- 您已将 RHDH 配置为允许来自 扩展 插件安装。
- 您已将 RBAC 配置为允许当前用户管理插件配置。
流程
- 导航到 Extensions。
- 选择要安装的插件。
点 Install 按钮。
此时会显示代码编辑器,显示插件默认配置。
如果需要,更新插件配置。
- 点 Install
要查看需要重启的插件,请点警报消息中的 View plugins。
- 重启您的 RHDH 应用程序。
验证
- 重启 RHDH 应用程序后,导航到 Extensions。
- 选择已安装的插件。
- 此时会显示 Actions 按钮。
4.5.5. 使用扩展启用和禁用插件 复制链接链接已复制到粘贴板!
先决条件
- 您已将 RHDH 配置为允许来自 扩展 插件安装。
- 您已配置了 RBAC,以允许当前用户访问插件配置。
流程
- 导航到 Extensions。
- 选择要启用或禁用的插件。
点 Enable/Disable slider。
要查看需要重启的插件,请点警报消息中的 View plugins。
- 重启您的 RHDH 应用程序。
验证
- 重启 RHDH 应用程序后,导航到 Extensions。
- 选择已安装的插件。
- Enable/Disable 滑块已更新。