4.5. 使用扩展管理插件


您可以使用 扩展 来安装和配置插件。

警告

使用扩展安装和配置插件仅在开发环境中正常工作。在生产环境中不支持此功能。

在生产环境中,用户会收到不允许插件安装的通知。

在开发环境中:

  • 管理员可以使用编辑器中预加载的默认配置来安装插件,或者在安装前修改配置。成功安装后,用户会收到需要重启后端才能完成安装过程。
  • 安装插件后,管理员可以访问插件侧面面板中的 Actions 下拉菜单。可用的操作包括:

    • 编辑在安装过程中使用的配置
    • 禁用或启用插件
    • 执行这些操作后,用户会收到需要重启后端才能使更改生效。

4.5.1. 配置 RBAC 以管理扩展

您可以通过创建或更新和现有的 RBAC 角色来添加扩展权限。有关使用 RBAC 管理基于角色的访问控制的更多信息,请参阅使用 Red Hat Developer Hub Web UI 管理基于角色的访问控制(RBAC)

先决条件

  • 您已启用了 RBAC,在 Developer Hub 中有一个策略管理员角色,并添加了带有权限的插件。

流程

  1. 进入 Developer Hub 中边栏底部的 管理

    此时会出现 RBAC 选项卡,在 Developer Hub 中显示所有创建的角色。

  2. 单击 Create 以创建角色。
  3. 在给定字段中输入角色的用户名和密码(可选),然后单击 Next
  4. Add users and groups 中,选择用户名,然后单击 Next
  5. 添加权限策略 中,从插件下拉菜单中选择 扩展
  6. 展开 Extensions,为 Extensions 插件选择 CreateRead 权限,然后点 Next
  7. 单击 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)。

流程

  1. 创建扩展配置文件并将其保存为 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
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令将文件复制到集群中:

    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
    Copy to Clipboard Toggle word wrap
  3. 更新您的 RHDH 应用程序以使用此文件:

    1. 对于基于 operator 的安装:

      1. 更新 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
        Copy to Clipboard Toggle word wrap
      2. 更新您的 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: []
        Copy to Clipboard Toggle word wrap
    2. 对于 Helm Chart 安装:

      1. 升级 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
        Copy to Clipboard Toggle word wrap
      2. Upgrade

验证

使用 Extensions UI 启用插件,重启 RHDH 应用程序并刷新 UI 以确认插件是否已启用。

4.5.3. 配置 RHDH Local 以使用扩展安装插件

您可以使用 RHDH Local 来使用扩展来测试安装插件。

先决条件

流程

  1. 更新您的 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
    Copy to Clipboard Toggle word wrap
  2. 更新 compose.yaml 文件:

    rhdh:
      container_name: rhdh
      environment:
        NODE_OPTIONS: "--inspect=0.0.0.0:9229"
        NODE_ENV: "development"
    Copy to Clipboard Toggle word wrap

验证

使用 Extensions UI 启用插件,重启 RHDH 应用程序并刷新 UI 以确认插件是否已启用。

4.5.4. 使用扩展安装插件

您可以使用扩展来安装和配置插件。

先决条件

  • 您已将 RHDH 配置为允许来自 扩展 插件安装。
  • 您已将 RBAC 配置为允许当前用户管理插件配置。

流程

  1. 导航到 Extensions
  2. 选择要安装的插件。
  3. Install 按钮。

    此时会显示代码编辑器,显示插件默认配置。

  4. 如果需要,更新插件配置。

  5. Install
  6. 要查看需要重启的插件,请点警报消息中的 View plugins

  7. 重启您的 RHDH 应用程序。

验证

  1. 重启 RHDH 应用程序后,导航到 Extensions
  2. 选择已安装的插件。
  3. 此时会显示 Actions 按钮。

4.5.5. 使用扩展启用和禁用插件

先决条件

  • 您已将 RHDH 配置为允许来自 扩展 插件安装。
  • 您已配置了 RBAC,以允许当前用户访问插件配置。

流程

  1. 导航到 Extensions
  2. 选择要启用或禁用的插件。
  3. 点 Enable/Disable slider。

  4. 要查看需要重启的插件,请点警报消息中的 View plugins

  5. 重启您的 RHDH 应用程序。

验证

  1. 重启 RHDH 应用程序后,导航到 Extensions
  2. 选择已安装的插件。
  3. Enable/Disable 滑块已更新。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat