2.4. 使用 Helm chart 安装动态插件


您可以使用 Helm Chart 部署 Developer Hub 实例,这是灵活的安装方法。使用 Helm Chart,您可以将动态插件加载到 Developer Hub 实例中,而无需重新编译代码或重建容器。

要使用 Helm 在 Developer Hub 中安装动态插件,请在 Helm Chart 中添加以下 global.dynamic 参数:

  • plugins: 用于安装的动态插件列表。默认情况下,列表为空。您可以使用以下字段填充 plugins 列表:

    • 软件包 :您要安装的动态插件软件包的软件包规格。您可以使用软件包进行本地或外部动态插件安装。对于本地安装,请使用包含动态插件的本地文件夹的路径。对于外部安装,请使用公共 NPM 存储库中的软件包规格。
    • 完整性 (外部软件包需要):一个完整性校验和,格式为特定于软件包的 &lt ;alg>-<digest >。支持的算法包括 sha256SHA384sha512
    • pluginConfig :特定于插件的 app-config YAML 片段。如需更多信息,请参阅插件配置。
    • disabled :如果设为 true,则禁用动态插件。默认值: false
  • 包括 :使用相同语法的 YAML 文件列表。
注意

包含 文件中的 plugins 列表与主 Helm 值中的 plugins 列表合并。如果两个插件列表中提到了 插件 软件包,则主 Helm 值中的 plugins 字段会覆盖 includes 文件中的 plugins 字段。默认配置包括 dynamic-plugins.default.yaml 文件,其中包含 Developer Hub 中预安装的所有动态插件,无论是默认启用还是禁用。

2.4.1. 获取完整性 checksum

要获取完整性 checksum,请输入以下命令:

npm view <package name>@<version> dist.integrity
Copy to Clipboard Toggle word wrap

2.4.2. 动态插件安装的 Helm Chart 配置示例

以下示例演示了如何为特定类型的动态插件安装配置 Helm Chart。

当外部插件需要特定的 app-config 时,配置本地插件和外部插件

global:
  dynamic:
    plugins:
      - package: <alocal package-spec used by npm pack>
      - package: <external package-spec used by npm pack>
        integrity: sha512-<some hash>
        pluginConfig: ...
Copy to Clipboard Toggle word wrap

从包含的文件禁用插件

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: <some imported plugins listed in dynamic-plugins.default.yaml>
        disabled: true
Copy to Clipboard Toggle word wrap

从包含的文件启用插件

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: <some imported plugins listed in dynamic-plugins.custom.yaml>
        disabled: false
Copy to Clipboard Toggle word wrap

启用在包含的文件中禁用的插件

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: <some imported plugins listed in dynamic-plugins.custom.yaml>
        disabled: false
Copy to Clipboard Toggle word wrap

2.4.3. 使用 Helm Chart 安装外部动态插件

NPM registry 包含可用于演示目的的外部动态插件。例如,NPMJS 存储库中的 janus-idp 组织提供了以下社区插件:

  • 通知(frontend 和 backend)
  • Kubernetes 操作(scaffolder 操作)

要安装 Notifications 和 Kubernetes 操作插件,请在 global.dynamic.plugins 列表中的 Helm Chart 值中包含它们,如下例所示:

global:
  dynamic:
    plugins:
      - package: '@janus-idp/plugin-notifications-backend-dynamic@1.3.6'
        # Integrity can be found at https://registry.npmjs.org/@janus-idp/plugin-notifications-backend-dynamic
        integrity: 'sha512-Qd8pniy1yRx+x7LnwjzQ6k9zP+C1yex24MaCcx7dGDPT/XbTokwoSZr4baSSn8jUA6P45NUUevu1d629mG4JGQ=='
      - package: '@janus-idp/plugin-notifications@1.1.12
'
        # https://registry.npmjs.org/@janus-idp/plugin-notifications

        integrity: 'sha512-GCdEuHRQek3ay428C8C4wWgxjNpNwCXgIdFbUUFGCLLkBFSaOEw+XaBvWaBGtQ5BLgE3jQEUxa+422uzSYC5oQ=='
        pluginConfig:
          dynamicPlugins:
            frontend:
              janus-idp.backstage-plugin-notifications:
                appIcons:
                  - name: notificationsIcon
                    module: NotificationsPlugin
                    importName: NotificationsActiveIcon
                dynamicRoutes:
                  - path: /notifications
                    importName: NotificationsPage
                    module: NotificationsPlugin
                    menuItem:
                      icon: notificationsIcon
                      text: Notifications
                    config:
                      pollingIntervalMs: 5000
      - package: '@janus-idp/backstage-scaffolder-backend-module-kubernetes-dynamic@1.3.5'
        # https://registry.npmjs.org/@janus-idp/backstage-scaffolder-backend-module-kubernetes-dynamic
        integrity: 'sha512-19ie+FM3QHxWYPyYzE0uNdI5K8M4vGZ0SPeeTw85XPROY1DrIY7rMm2G0XT85L0ZmntHVwc9qW+SbHolPg/qRA=='
          proxy:
            endpoints:
              /explore-backend-completed:
                target: 'http://localhost:7017'
      - package: '@dfatwork-pkgs/search-backend-module-explore-wrapped-dynamic@0.1.3-next.1'
        # https://registry.npmjs.org/@dfatwork-pkgs/search-backend-module-explore-wrapped-dynamic
        integrity: 'sha512-mv6LS8UOve+eumoMCVypGcd7b/L36lH2z11tGKVrt+m65VzQI4FgAJr9kNCrjUZPMyh36KVGIjYqsu9+kgzH5A=='
      - package: '@dfatwork-pkgs/plugin-catalog-backend-module-test-dynamic@0.0.0'
        # https://registry.npmjs.org/@dfatwork-pkgs/plugin-catalog-backend-module-test-dynamic
        integrity: 'sha512-YsrZMThxJk7cYJU9FtAcsTCx9lCChpytK254TfGb3iMAYQyVcZnr5AA/AU+hezFnXLsr6gj8PP7z/mCZieuuDA=='
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat