1.2. 使用 Red Hat Developer Hub operator 使用自定义配置运行 Developer Hub
要使用 Developer Hub operator 使用自定义配置运行 Red Hat Developer Hub,请创建一个 Backstage 自定义资源:
- 挂载自定义配置映射中置备的文件。
- 注入自定义 secret 中置备的环境变量。
先决条件
-
通过使用 OpenShift CLI (
oc
),您可以访问开发人员权限,可以访问一个旨在包含 Developer Hub 实例的 OpenShift Container Platform 集群。 - 您的 OpenShift Container Platform 管理员已在 OpenShift Container Platform 中安装了 Red Hat Developer Hub Operator。
-
您已在 <
my-rhdh-project&
gt; 项目中置备了自定义配置映射和 secret。
流程
在
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-config
和rbac-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_PROXY
、HTTPS_PROXY
和NO_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-secrets
和my-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.pem
、postgres-ca.pem
和postgres-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
- (可选) 输入您的部署配置。
应用 Backstage 自定义资源以启动或更新 Developer Hub 实例。
$ oc apply --filename=my-rhdh-custom-resource.yaml --namespace=my-rhdh-project