1.2. 使用 Red Hat Developer Hub operator 使用自定义配置运行 Developer Hub


要使用 Developer Hub operator 使用自定义配置运行 Red Hat Developer Hub,请创建一个 Backstage 自定义资源:

  • 挂载自定义配置映射中置备的文件。
  • 注入自定义 secret 中置备的环境变量。

先决条件

流程

  1. my-rhdh-custom-resource.yaml 文件中编写您的 Backstage 自定义资源,以使用您的自定义配置映射和 secret。

    例 1.1. 最少的 my-rhdh-custom-resource.yaml 自定义资源示例

    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    metadata:
      name: my-rhdh-custom-resource
    spec:
      application:
        appConfig:
          mountPath: /opt/app-root/src
          configMaps:
             - name: my-rhdh-app-config
        extraEnvs:
          secrets:
             - name: my-rhdh-secrets
        extraFiles:
          mountPath: /opt/app-root/src
        replicas: 1
        route:
          enabled: true
      database:
        enableLocalDb: true

    例 1.2. my-rhdh-custom-resource.yaml 自定义资源示例,带有动态插件和 RBAC 策略配置映射,以及外部 PostgreSQL 数据库 secret。

    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    metadata:
      name: <my-rhdh-custom-resource>
    spec:
      application:
        appConfig:
          mountPath: /opt/app-root/src
          configMaps:
             - name: my-rhdh-app-config
             - name: rbac-policies
        dynamicPluginsConfigMapName: dynamic-plugins-rhdh
        extraEnvs:
          secrets:
             - name: my-rhdh-secrets
             - name: my-rhdh-database-secrets
        extraFiles:
          mountPath: /opt/app-root/src
          secrets:
            - name: my-rhdh-database-certificates-secrets
              key: postgres-crt.pem, postgres-ca.pem, postgres-key.key
        replicas: 1
        route:
          enabled: true
      database:
        enableLocalDb: false
    必填字段
    不需要字段。您可以创建一个空的 Backstage 自定义资源,并使用默认配置运行 Developer Hub。
    可选字段
    spec.application.appConfig.configMaps
    输入您的配置映射名称列表。

    .mount 文件在 my-rhdh-app-config 配置映射中。

    spec:
      application:
        appConfig:
          mountPath: /opt/app-root/src
          configMaps:
             - name: my-rhdh-app-config

    例 1.3. 在 my-rhdh-app-configrbac-policies 配置映射中挂载文件。

    spec:
      application:
        appConfig:
          mountPath: /opt/app-root/src
          configMaps:
             - name: my-rhdh-app-config
             - name: rbac-policies
    spec.application.extraEnvs.envs

    (可选)输入不是 secret 的额外环境变量,如 代理环境变量

    例 1.4. 注入 HTTP_PROXYHTTPS_PROXYNO_PROXY 环境变量。

    spec:
      application:
        extraEnvs:
          envs:
            - name: HTTP_PROXY
              value: 'http://10.10.10.105:3128'
            - name: HTTPS_PROXY
              value: 'http://10.10.10.106:3128'
            - name: NO_PROXY
              value: 'localhost,example.org'
    spec.application.extraEnvs.secrets

    输入环境变量 secret 名称列表。

    例 1.5. 在 my-rhdh-secrets secret 中注入环境变量

    spec:
      application:
        extraEnvs:
          secrets:
             - name: my-rhdh-secrets

    例 1.6. 在 my-rhdh-secretsmy-rhdh-database-secrets secret 中注入 envvironment 变量

    spec:
      application:
        extraEnvs:
          secrets:
             - name: my-rhdh-secrets
             - name: my-rhdh-database-secrets
    spec.application.extraFiles.secrets

    输入您的证书文件 secret 名称和文件列表。

    挂载 postgres-crt.pempostgres-ca.pempostgres-key.key 文件,该文件包含在 my-rhdh-database-certificates-secrets secret 中

    spec:
      application:
        extraFiles:
          mountPath: /opt/app-root/src
          secrets:
            - name: my-rhdh-database-certificates-secrets
              key: postgres-crt.pem, postgres-ca.pem, postgres-key.key

    spec.database.enableLocalDb

    启用或禁用本地 PostgreSQL 数据库。

    禁用本地 PostgreSQL 数据库生成以使用外部 postgreSQL 数据库

    spec:
      database:
        enableLocalDb: false

    在开发环境中,使用本地 PostgreSQL 数据库

    spec:
      database:
        enableLocalDb: true

    spec.deployment
    (可选) 输入您的部署配置
  2. 应用 Backstage 自定义资源以启动或更新 Developer Hub 实例。

    $ oc apply --filename=my-rhdh-custom-resource.yaml --namespace=my-rhdh-project
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.