第 3 章 自定义 config.yaml 文件
在集成产品和外部服务前,使用此流程自定义 config.yaml 文件。自定义此文件可确保在安装过程中保留集成和首选项。
先决条件
- 您可以访问 OpenShift Web 控制台。
- 您计划至少集成一个外部产品或服务(如 RHACS 或 Quay)。
(可选)用于软件目录存储库 URL。RHTAP 提供软件模板目录,可帮助开发人员构建应用程序。要自定义这些模板,请在安装前分叉存储库。
- 在您的浏览器中,前往 RHTAP 软件目录存储库。
点 Fork 对存储库进行分叉。
-
取消选中标有 Copy the
main分支的框。
-
取消选中标有 Copy the
-
创建 fork 时,复制其 URL 并将其保存到
private.env文件中。 - 在 fork 存储库中,单击 main 以打开分支/标签下拉菜单。
在 Tags 下,选择与您的 RHTAP 版本匹配的版本。
注意定期更新您的分叉,使其包含来自上游存储库的更改。
流程
- 在 OpenShift 控制台中,切换到 Administrator 视角。
- 进入 Workloads > ConfigMaps。
- 从 Project 下拉列表中,选择 RHTAP。
-
打开
rhtap-cli-configConfigMap。 选择 YAML 视图并导航到定义
config.yaml参数的位置。注意如果您的集群已经包含所需的订阅或运算符,您可以通过将
manageSubscription属性设置为false来防止安装程序创建新订阅。-
manageSubscription: true(默认):安装程序管理和安装所有所需的 operator 订阅。
-
manageSubscription: false:安装程序跳过安装所需的 Operator 订阅,因为它假定它们已存在于集群中。- 确保预安装的运算符 与 RHTAP 兼容。不兼容的版本或配置可能会导致安装失败。
根据需要更新以下字段:
要使用自定义软件目录,请设置
catalogURL:redhatDeveloperHub: properties: catalogURL: https://github.com/<your-org>/tssc-sample-templates/blob/releases/all.yaml要禁用外部集成的组件安装(例如 ACS 和 Quay):
redhatAdvancedClusterSecurity: enabled: &rhacsEnabled false namespace: &rhacsNamespace rhtap-rhacs redHatQuay: enabled: &quayEnabled false namespace: &quayNamespace rhtap-quay注意如果您试图在产品外集成或预先存在的实例,但没有自定义
config.yaml,Red Hat Trusted Application Pipeline 仍会安装和使用其默认产品。您必须自定义config.yaml才能使rhtap-cli 集成命令生效。但是,如果您没有为rhtap-cli 集成自定义config.yaml,安装程序会部署该产品并覆盖现有的集成。
要在 Developer Hub 中启用 RBAC 插件,请在
redhatDeveloperHub部分中配置RBAC属性。RBAC: enabled: true # Enables the RBAC feature. adminUsers: # GitHub usernames that should have administrator access. - yourGitHubUsername - anotherGitHubAdmin orgs: # GitHub organizations whose members are imported into the Developer Hub catalog with access roles. - your-github-org注意如果省略
adminUsers或orgs,安装程序将默认为集成 GitHub 应用程序时配置的 GitHub 用户和机构。
要使用自定义命名空间而不是默认命名空间,请在
config.yaml文件的redhatDeveloperHub部分中配置namespacePrefixes属性。默认情况下,RHTAP 在安装过程中创建四个命名空间:-
rhtap-app-ci:用于 CI 管道工作负载 rhtap-app-development,rhtap-app-stage, 和rhtap-app-prod: 用于 development、stage 和 prod 部署您可以自定义这些命名空间的前缀,并使用
namespacePrefixes属性定义额外的命名空间集。例如,您可以配置自定义前缀来生成命名空间,如my_prefix1-app-ci、my_prefix1-app-development、my_prefix1-app-stage和my_prefix1-app-prod。redhatDeveloperHub: namespacePrefixes: - my_prefix1 - my_prefix2- 完成所有必要的更改后,选择 Save。
-