5.3.3. configBundleSecret について
spec.configBundleSecret フィールドは、QuayRegistry リソースと同じ namespace 内の Secret の名前へのオプションの参照です。この Secret には、config.yaml キー/値のペアが含まれている必要があります。値は Red Hat Quay 設定ファイルです。
configBundleSecret には config.yaml ファイルが保存されます。Red Hat Quay 管理者は、config.yaml ファイルを通じて次の設定を定義できます。
- 認証バックエンド (OIDC、LDAP など)
- 外部 TLS Termination 設定
- リポジトリー作成ポリシー
- 機能フラグ
- 通知設定
Red Hat Quay は、以下の理由でこのシークレットを更新する可能性があります。
- 新しい認証方法の有効化
- カスタム SSL/TLS 証明書の追加
- 機能の有効化
- セキュリティースキャン設定の変更
このフィールドを省略すると、Red Hat Quay Operator はデフォルト値と管理対象コンポーネントの設定に基づいて、設定シークレットを自動的に生成します。フィールドが指定されている場合、config.yaml の内容が基本設定として使用され、管理対象コンポーネントの値とマージされて最終的な設定が形成され、それが quay アプリケーション Pod にマウントされます。
QuayRegistry CR の設定方法によって、Red Hat Quay on OpenShift Container Platform の configBundleSecret’s `config.yaml ファイルに含める必要があるフィールドが決まります。次の例は、すべてのコンポーネントが Operator によって管理される場合のデフォルトの config.yaml ファイルを示しています。この例は、コンポーネントが管理対象であるか管理対象外であるか (managed: 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 を次のように変更します。
管理対象外 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 カスタムリソース を作成する必要があります。
5.3.3.1. OpenShift Container Platform Web コンソールを使用して設定ファイルを変更する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、configBundleSecret によって保存される config.yaml ファイルを変更するには、次の手順に従います。
前提条件
- 管理者権限を持つユーザーとして OpenShift Container Platform クラスターにログインしている。
手順
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators Red Hat Quay をクリックします。 - Quay Registry をクリックします。
- Red Hat Quay レジストリーの名前 (例: example-registry) をクリックします。
- QuayRegistry details ページで、Config Bundle Secret の名前 (例: example-registry-config-bundle) をクリックします。
-
Actions
Edit Secret をクリックします。 Value ボックスに、必要なキーと値のペアを追加します。たとえば、Red Hat Quay on OpenShift Container Platform デプロイメントにスーパーユーザーを追加するには、次の参照を追加します。
SUPER_USERS: - quayadmin- Save をクリックします。
検証
変更が承認されたことを確認します。
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators Red Hat Quay をクリックします。 - Quay Registry をクリックします。
- Red Hat Quay レジストリーの名前 (例: example-registry) をクリックします。
Events をクリックします。成功すると、次のメッセージが表示されます。
All objects created/updated successfully
-
OpenShift Container Platform Web コンソールで、Operators
更新された config.yaml を Secret に配置する前に、base64 でエンコードする必要があります。Secret 名が spec.configBundleSecret で指定された値と一致していることを確認します。Secret が更新されると、Operator は変更を検出し、Red Hat Quay Pod に更新を自動的にロールアウトします。
詳細な手順については、「Red Hat Quay UI を使用した設定シークレットの更新」を参照してください。