エンドツーエンドテスト
======================

CloudNativePGは、各コミットの後に、 **エンドツーエンドE2Eテスト**
のスイートを介して自動的にテストされ、オペレーターがPostgreSQLクラスターを正しく展開および管理していることを保証します。

さらに、次のKubernetesバージョンはコミットごとにテストされ、開発プロセスの初期段階でバグを検出するのに役立ちます。

-  1.27

-  1.26

-  1.25

-  1.24

-  1.23

次のPostgreSQLバージョンがテストされています。

-  PostgreSQL 15

-  PostgreSQL 14

-  PostgreSQL 13

-  PostgreSQL 12

-  PostgreSQL 11

KubernetesとPostgreSQLのテストされたバージョンごとに、
 `kind <https://kind.sigs.k8s.io/>`_ を使用してKubernetesクラスターが作成され、そのクラスターで次のE2Eテストスイートが実行されます。

-  **基本** *オペレーターのインストール。* クラスターの作成。
   \*データストレージのための永続ボリュームの使用。

-  **サービス接続** *読み取り専用を含むサービスを介した接続。*
   ユーザー指定のサーバーおよび/またはクライアント証明書を介した接続。
   \* PgBouncer;

-  **自己修復** *フェイルオーバー。* スイッチオーバー;
   *10秒以内にフェイルオーバーが発生した場合のプライマリエンドポイントスイッチ。*
   20秒以内にスイッチオーバーの場合のプライマリエンドポイントスイッチ。
   *60秒未満で機能低下状態から回復します。* PVCの削除;

-  **バックアップとリストア** *S3でBarman
   Cloudを使用したバックアップとスケジュールバックアップの実行。* Azure
   BlobストレージでのBarman
   Cloudを使用したバックアップおよびスケジュールされたバックアップの実行。
   *S3でBarman Cloudを使用してバックアップから復元します。* Azure
   BlobストレージでBarman Cloudを使用してバックアップから復元します。 \*
   Wal-Restore;

-  **Operator:** *オペレーター展開。*
   ConfigMapを介したオペレーター構成。 *オペレーターポッドの削除。*
   オペレーターポッドのエビクション。 *オペレーターのアップグレード;*
   オペレーターの高可用性。

-  **可観測性** *メトリック収集。* PgBouncerメトリック; \* JSONログ形式

-  **レプリケーション** *物理レプリカクラスター。*
   レプリケーションスロット; *同期レプリケーション。*
   クラスターのスケールアップおよびスケールダウン。

-  **プラグイン** *CNPGプラグインを使用したクラスター休止状態。*
   フェンシング\* 接続証明書の作成。

-  **Postgres構成** *PostgreSQL構成の変更を管理します。*
   PostgreSQLイメージを変更する際のローリング更新。

-  **ポッドのスケジューリング** *許容範囲とテイント。* ``NodeSelector``
   を使用したポッドアフィニティ。

-  **クラスターメタデータ**
   *クラスターラベルとアノテーションの構成マップ。*
   オブジェクトのメタデータ。

-  **リカバリー** *データの破損。* pg_basebackup;

-  **データベースのインポート** *マイクロサービスアプローチ。*
   モノリスアプローチ。

-  **ストレージ** \*ストレージ拡張。

-  **セキュリティ** \* AppArmorアノテーションの伝播。
   Azure環境でのみ実行されます。

-  **メンテナンス** \*ノードドレイン。
