Container Image Requirements
============================

KubernetesのEDB CloudNativePG
クラスターオペレーターは、次の要件に準拠するPostgreSQLの互換性のあるコンテナイメージで動作するように設計されています。

- パスに存在する必要があるPostgreSQL実行可能ファイル

  - ``initdb``
  - ``postgres``
  - ``pg_ctl``
  - ``pg_controldata``
  - ``pg_basebackup``

- パスにある必要があるBarmanクラウド実行可能ファイル

  - ``barman-cloud-backup``
  - ``barman-cloud-backup-delete``
  - ``barman-cloud-backup-list``
  - ``barman-cloud-check-wal-archive``
  - ``barman-cloud-restore``
  - ``barman-cloud-wal-archive``
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 

- PGAudit拡張機能のインストールオプショナル-展開されたクラスターでPGAuditが必要な場合のみ

- 適切なロケール設定

- ``du`` オプショナル、\ ``kubectl cnp status`` の場合

..  Important::
   `PostgreSQL versions supported by the PGDG <https://postgresql.org/>`_ のみが許可されます。

EDB
CloudNativePGクラスターはインスタンスマネージャーでオーバーライドするため、イメージ定義にエントリーポイントやコマンドは必要ありません。

..  Warning::
  アプリケーションコンテナイメージは、**マルチプル/オプショナルのホットスタンバイサーバーアーキテクチャを備えたプライマリ**のEDB CloudNativePGクラスターによってのみ使用されます。

EDBは `public PostgreSQL container images <https://github.com/enterprisedb/docker-postgres>`_ を提供およびサポート

EDB CloudNativePGクラスター用に作成され、 `quay.io <https://quay.io/enterprisedb/postgresql>`_ で公開されます。

イメージタグの要件
------------------

オペレーターが情報に基づいた決定を下せるように、PostgreSQLメジャーバージョンを正確に検出する必要があります。この検出は2つの方法で発生できます。

1. ``imageCatalogRef`` の\ ``major``
   フィールドが定義されている場合、それを利用します。

2. 明示的に指定されていない場合、\ ``imageName``
   のイメージタグからメジャーバージョンを自動検出します。

自動検出が機能するには、イメージタグが特定の形式に準拠している必要があります。これは、有効なPostgreSQLメジャーバージョン番号15.6または16などで始まり、オプションでドットとパッチレベルが続く必要があります。

これに続いて、タグには、Dockerタグで受け入れられる有効な文字の組み合わせを含めることができ、前にドット、アンダースコア、またはマイナス記号が続きます。

受け入れられるイメージタグの例

- ``12.1``

- ``13.3.2.1-1``

- ``13.4``

- ``14``

- ``15.5-10``

- ``16.0``

..  Warning::
   `latest` は、画像の有効なタグとは見なされません。

..  Note::
   イメージタグ要件は、カタログで定義されたイメージには適用されません。
