第 4 章 Red Hat Developer Hub 支持的配置
本节论述了访问 Red Hat Developer Hub 所需的配置,包括:
- 自定义应用程序配置
- Developer Hub 目录的源控制配置
4.1. 在 Red Hat OpenShift Container Platform 中添加自定义应用程序配置文件
要访问 Red Hat Developer Hub,您必须在 Red Hat OpenShift Container Platform 中添加自定义应用程序配置文件。在 OpenShift Container Platform 中,您可以使用以下内容作为基础模板,创建名为 app-config-rhdh
的 ConfigMap:
kind: ConfigMap apiVersion: v1 metadata: name: app-config-rhdh data: app-config-rhdh.yaml: | app: title: {product}
您可以使用以下方法之一将自定义应用程序配置文件添加到 OpenShift Container Platform 中:
- Red Hat Developer Hub Operator
- Red Hat Developer Hub Helm Chart。
4.1.1. 使用 Helm Chart 将自定义应用程序配置文件添加到 OpenShift Container Platform 中
您可以使用 Red Hat Developer Hub Helm Chart 将自定义应用程序配置文件添加到 OpenShift Container Platform 实例中。
先决条件
- 您已创建了 Red Hat OpenShift Container Platform 帐户。
流程
- 在 OpenShift Container Platform Web 控制台中,选择 ConfigMaps 选项卡。
- 点 Create ConfigMap。
- 在 Create ConfigMap 页面中,选择 Configure via 中的 YAML view 选项,并根据需要更改该文件。
- 点 Create。
- 进入 Helm 选项卡查看 Helm 发行版本列表。
- 点击您要使用的 Helm 发行版本的 overflow 菜单,然后选择 Upgrade。
使用 Form view 或 YAML 视图 来编辑 Helm 配置。
使用 Form view
-
展开 Root Schema
Backstage chart schema Backstage parameters Extra app 配置文件到内联到命令参数 中。 - 点 Add Extra app 配置文件以内联到命令参数 链接。
在以下字段中输入值:
-
configMapRef:
app-config-rhdh
-
filename:
app-config-rhdh.yaml
-
configMapRef:
- 单击 Upgrade。
-
展开 Root Schema
使用 YAML 视图
设置
upstream.backstage.extraAppConfig.configMapRef
和upstream.backstage.extraAppConfig.filename
参数的值,如下所示:# ... other Red Hat Developer Hub Helm Chart configurations upstream: backstage: extraAppConfig: - configMapRef: app-config-rhdh filename: app-config-rhdh.yaml # ... other Red Hat Developer Hub Helm Chart configurations
- 单击 Upgrade。
4.1.2. 使用 Operator 将自定义应用程序配置文件添加到 OpenShift Container Platform 中
自定义应用程序配置文件是一个 ConfigMap
对象,可用于更改 Red Hat Developer Hub 实例的配置。如果要在 Red Hat OpenShift Container Platform 上部署 Developer Hub 实例,您可以使用 Red Hat Developer Hub Operator 将自定义应用程序配置文件添加到 OpenShift Container Platform 实例,方法是创建 ConfigMap
对象并在 Developer Hub 自定义资源(CR)中引用它。
自定义应用配置文件包含一个名为 BACKEND_SECRET
的敏感环境变量。此变量包含一个强制的后端身份验证密钥,Developer Hub 用来引用 OpenShift Container Platform secret 中定义的环境变量。您必须创建一个名为 'secrets-rhdh' 的 secret,并在 Developer Hub CR 中引用它。
您需要保护 Red Hat Developer Hub 安装不受外部和未授权访问的影响。像管理任何其他机密一样管理后端身份验证密钥。满足强的密码要求,不要在任何配置文件中公开它,仅将其作为环境变量注入配置文件中。
先决条件
- 您有一个活跃的 Red Hat OpenShift Container Platform 帐户。
- 您的管理员已在 OpenShift Container Platform 中安装了 Red Hat Developer Hub Operator。如需更多信息,请参阅安装 Red Hat Developer Hub Operator。
- 您已在 OpenShift Container Platform 中创建 Red Hat Developer Hub CR。
流程
- 从 OpenShift Container Platform Web 控制台中的 Developer 视角,选择 Topology 视图,然后点击 Developer Hub pod 上的 Open URL 图标来识别 Developer Hub 外部 URL: < RHDH_URL>。
- 从 OpenShift Container Platform Web 控制台中的 Developer 视角,选择 ConfigMaps 视图。
- 点 Create ConfigMap。
在 Configure via 中选择 YAML view 选项,并使用以下示例作为基础模板来创建
ConfigMap
对象,如app-config-rhdh.yaml
:kind: ConfigMap apiVersion: v1 metadata: name: app-config-rhdh data: "app-config-rhdh.yaml": | app: title: Red Hat Developer Hub baseUrl: <RHDH_URL> 1 backend: auth: keys: - secret: "${BACKEND_SECRET}" 2 baseUrl: <RHDH_URL> 3 cors: origin: <RHDH_URL> 4
- 点 Create。
- 选择 Secrets 视图。
- 点 Create Key/value Secret。
-
创建名为
secrets-rhdh
的 secret。 添加名为
BACKEND_SECRET
的键,并将 base64 编码字符串作为值。为每个 Red Hat Developer Hub 实例使用唯一值。例如,您可以使用以下命令从终端生成密钥:node -p 'require("crypto").randomBytes(24).toString("base64")'
- 点 Create。
- 选择 Topology 视图。
点您要使用的 Red Hat Developer Hub 实例的 overflow 菜单,然后选择 Edit Backstage 来加载 Red Hat Developer Hub 实例的 YAML 视图。
在 CR 中,输入自定义应用程序配置配置映射的名称作为
spec.application.appConfig.configMaps
字段的值,并输入 secret 的名称作为spec.application.extraEnvs.secrets
字段的值。例如:apiVersion: v1 kind: ConfigMap metadata: name: example spec: application: appConfig: mountPath: /opt/app-root/src configMaps: - name: app-config-rhdh extraEnvs: secrets: - name: secrets-rhdh extraFiles: mountPath: /opt/app-root/src replicas: 1 route: enabled: true database: enableLocalDb: true
- 点击 Save。
- 返回到 Topology 视图,并等待 Red Hat Developer Hub pod 启动。
- 点 Open URL 图标使用 Red Hat Developer Hub 平台以及配置更改。
其他资源
- 如需有关 Developer Hub 中的角色和职责的更多信息,请参阅 Red Hat Developer Hub 中的基于角色的访问控制(RBAC)。