1.4. 了解 configBundleSecret
spec.configBundleSecret 字段是对与 QuayRegistry 资源相同的命名空间中的 Secret 名称的可选引用。此 Secret 必须包含 config.yaml 键/值对,其中值为 Red Hat Quay 配置文件。
configBundleSecret 存储 config.yaml 文件。Red Hat Quay 管理员可以通过 config.yaml 文件定义以下设置:
- 身份验证后端(如 OIDC、LDAP)
- 外部 TLS 终止设置
- 仓库创建策略
- 功能标记
- 通知设置
Red Hat Quay 可能会因为以下原因更新此 secret:
- 启用一个新的验证方法
- 添加自定义 SSL/TLS 证书
- 启用功能
- 修改安全扫描设置
如果省略此字段,Red Hat Quay Operator 会自动根据默认值和受管组件设置生成配置 secret。如果提供了字段,则 config.yaml 的内容将用作基础配置,并且与来自受管组件的值合并,以组成最终配置,该配置被挂载到 quay 应用程序 Pod 中。
如何配置 QuayRegistry CR,决定哪些字段必须包含在 OpenShift Container Platform 上的 Red Hat Quay 的 configBundleSecret's 'config.yaml 文件中。以下示例显示,当所有组件都由 Operator 管理时,您是一个默认的 config.yaml 文件。请注意,此示例根据组件是管理的还是非受管(受管:false)而不同。
带有 Operator 管理的所有组件的 YAML 示例
ALLOW_PULLS_WITHOUT_STRICT_LOGGING: false
AUTHENTICATION_TYPE: Database
DEFAULT_TAG_EXPIRATION: 2w
ENTERPRISE_LOGO_URL: /static/img/RH_Logo_Quay_Black_UX-horizontal.svg
FEATURE_BUILD_SUPPORT: false
FEATURE_DIRECT_LOGIN: true
FEATURE_MAILING: false
REGISTRY_TITLE: Red Hat Quay
REGISTRY_TITLE_SHORT: Red Hat Quay
SETUP_COMPLETE: true
TAG_EXPIRATION_OPTIONS:
- 2w
TEAM_RESYNC_STALE_TIME: 60m
TESTING: false
在某些情况下,您可以选择自己管理某些组件,如对象存储。在这种情况下,您将修改 QuayRegistry CR,如下所示:
Unmanaged objectstorage 组件
# ...
- kind: objectstorage
managed: false
# ...
如果您要管理自己的组件,则必须将部署配置为包含该组件的必要信息或资源。例如,如果 objectstorage 组件被设置为 managed: false,您可以根据 config.yaml 文件中的存储供应商包含相关信息。以下示例显示了使用 Google Cloud Storage 的分布式存储配置:
objectstorage 非受管时所需的信息
# ...
DISTRIBUTED_STORAGE_CONFIG:
default:
- GoogleCloudStorage
- access_key: <access_key>
bucket_name: <bucket_name>
secret_key: <secret_key>
storage_path: /datastorage/registry
# ...
同样,如果您要管理 horizontalpodautoscaler 组件,您必须创建一个附带的 HorizontalPodAutoscaler 自定义资源。