環境構成設定

システム環境変数を使用して、Patroni構成ファイルで定義された構成パラメーターの一部をオーバーライドできます。このドキュメントには、Patroniが処理するすべての環境変数がリストされています。これらの変数を介して設定された値は、常にPatroni構成ファイルで設定された値よりも優先されます。

グローバル/ユニバーサル

  • PATRONI/_CONFIGURATION : PATRONI_CONFIGURATION 環境変数を介してPatroniの構成全体を設定することが可能です。この場合、他の環境変数は考慮されません。

  • PATRONI/_NAME :Patroniの現在のインスタンスが実行されているノードの名前。クラスターに対して一意である必要があります。

  • PATRONI/_NAMESPACE :Patroniがクラスターに関する情報を保持する構成ストア内のパス。デフォルト値:/"/service/"

  • PATRONI/_SCOPE :クラスター名

ログ

  • PATRONI/_LOG/_LEVEL :一般的なログレベルを設定します。デフォルト値は PATRONI/_LOG/_LEVEL です( PATRONI/_LOG/_LEVEL を参照)

  • PATRONI/_LOG/_TRACEBACK/_LEVEL :トレースバックが表示されるレベルを設定します。デフォルト値は PATRONI/_LOG/_TRACEBACK/_LEVEL です。 PATRONI/_LOG/_TRACEBACK/_LEVEL を有効にした場合にのみトレースバックを見たい場合は、 PATRONI/_LOG/_TRACEBACK/_LEVEL に設定します。

  • PATRONI/_LOG/_FORMAT :ログフォーマット文字列を設定します。デフォルト値は %(asctime)s%(levelname)s:%(message)s です( PATRONI/_LOG/_FORMAT を参照)

  • PATRONI/_LOG/_DATEFORMAT :日時フォーマット文字列を設定します。( PATRONI/_LOG/_DATEFORMAT を参照)

  • PATRONI/_LOG/_MAX/_QUEUE/_SIZE :Patroniは2段階ロギングを使用しています。ログレコードはメモリ内キューに書き込まれ、キューからそれらをプルしてstderrまたはファイルに書き込む別のスレッドがあります。内部キューの最大サイズは、デフォルトで PATRONI/_LOG/_MAX/_QUEUE/_SIZE レコードによって制限されます。これは、過去1時間20分のログを保持するのに十分です。

  • PATRONI/_LOG/_DIR :アプリケーションログを書き込むディレクトリ。ディレクトリが存在し、Patroniを実行しているユーザーが書き込み可能である必要があります。この環境変数を設定すると、アプリケーションはデフォルトで4つの25MBログを保持します。これらの保持値は、`PATRONI_LOG_FILE_NUM`および`PATRONI_LOG_FILE_SIZE`で調整できます(下記参照)。

  • PATRONI/_LOG/_FILE/_NUM :保持するアプリケーションログの数。

  • PATRONI/_LOG/_FILE/_SIZE :ログのローリングをトリガーするatoi.logファイルのサイズ(バイト単位)。

  • PATRONI/_LOG/_LOGGERS :Pythonモジュールごとにログレベルを再定義します。例 PATRONI_LOG_LOGGERS=/"{patroni.postmaster: WARNING, urllib3: DEBUG}/"

ブートストラップ構成

新しいクラスターの初期化が成功した直後に新しいデータベースユーザーを作成できます。このプロセスは、次の変数によって定義されます。

  • PATRONI/_<username>/_PASSWORD='<password>'

  • PATRONI/_<username>/_OPTIONS='list,of,options'

例: PATRONI_admin_PASSWORD=strongpasswd および PATRONI_admin_OPTIONS='createrole,createdb' を定義すると、他のユーザーとデータベースの作成が許可されているパスワード PATRONI_admin_PASSWORD=strongpasswd でユーザー PATRONI_admin_PASSWORD=strongpasswd が作成されます。

Citus

Enables integration Patroni with Citus. If configured, Patroni will take care of registering Citus worker nodes on the coordinator. You can find more information about Citus support here.

  • PATRONI/_CITUS/_GROUP :CitusグループID、整数。コーディネーターには 0 を使用し、ワーカーには 1 、 2 Etcdを使用します

  • PATRONI/_CITUS/_DATABASE : citus 拡張機能を作成するデータベース。コーディネーターとすべてのワーカーで同じである必要があります。現在、1つのデータベースのみがサポートされています。

Consul

  • PATRONI/_CONSUL/_HOST :Consulローカルエージェントのhost:port。

  • PATRONI/_CONSUL/_URL :ConsulローカルエージェントのURL、形式:http(s)://host:port

  • PATRONI/_CONSUL/_PORT :(オプション)Consulポート

  • PATRONI/_CONSUL/_SCHEME :(オプション) PATRONI/_CONSUL/_SCHEME または PATRONI/_CONSUL/_SCHEME 、デフォルトは PATRONI/_CONSUL/_SCHEME

  • PATRONI/_CONSUL/_TOKEN :(オプション)ACLトークン

  • PATRONI/_CONSUL/_VERIFY :(オプション)HTTPSリクエストのSSL証明書を検証するかどうか

  • PATRONI/_CONSUL/_CACERT :(オプション)CA証明書。存在する場合、検証が有効になります。

  • PATRONI/_CONSUL/_CERT :(オプション)クライアント証明書を含むファイル

  • PATRONI/_CONSUL/_KEY :(オプション)クライアントキーを含むファイル。キーが証明書の一部である場合は空にできます。

  • PATRONI/_CONSUL/_DC :(オプション)通信するデータセンター。デフォルトでは、ホストのデータセンターが使用されます。

  • PATRONI/_CONSUL/_CONSISTENCY :(オプション)Consul一貫性モードを選択します。可能な値は default 、 consistent 、または stale (詳細は PATRONI/_CONSUL/_CONSISTENCY _を参照)

  • PATRONI/_CONSUL/_CHECKS :(オプション)セッションに使用されたConsulヘルスチェックのリスト。デフォルトでは、空のリストが使用されます。

  • PATRONI/_CONSUL/_REGISTER/_SERVICE :(オプション)scopeパラメーターで定義された名前と、ノードのロールに応じてタグmaster、primary、replica、またはstandby-leaderでサービスを登録するかどうか。デフォルトは PATRONI/_CONSUL/_REGISTER/_SERVICE

  • PATRONI/_CONSUL/_SERVICE/_TAGS :(オプション)ロールとは別にConsulサービスに追加する追加の静的タグ( master / primary / replica / standby-leader )。デフォルトでは、空のリストが使用されます。

  • PATRONI/_CONSUL/_SERVICE/_CHECK/_INTERVAL :(オプション)登録されたURLに対してヘルスチェックを実行する頻度

  • PATRONI/_CONSUL/_SERVICE/_CHECK/_TLS/_SERVER/_NAME :(オプション)TLS経由で接続するときにSNIホストをオーバーライドします。 PATRONI/_CONSUL/_SERVICE/_CHECK/_TLS/_SERVER/_NAME _も参照してください。

Etcd

  • PATRONI/_ETCD/_PROXY :etcdのプロキシURL。プロキシを使用してetcdに接続する場合は、 PATRONI/_ETCD/_PROXY の代わりにこのパラメーターを使用します

  • PATRONI/_ETCD/_URL :etcdのURL、形式:http(s)://(username:password@)host:port

  • PATRONI/_ETCD/_HOSTS :形式'host1:port1'、'host2:port2'Etcdのetcdエンドポイントのリスト...

  • PATRONI/_ETCD/_USE/_PROXIES :このパラメーターがtrueに設定されている場合、Patroniは PATRONI/_ETCD/_USE/_PROXIES をプロキシのリストと見なし、etcdクラスターのトポロジ検出を実行せず、 PATRONI/_ETCD/_USE/_PROXIES の固定リストに固執します。

  • PATRONI/_ETCD/_PROTOCOL :httpまたはhttps、指定されていない場合httpが使用されます。 PATRONI/_ETCD/_PROTOCOL または PATRONI/_ETCD/_PROTOCOL が指定された場合-それらからプロトコルを取得します。

  • PATRONI/_ETCD/_HOST :etcdエンドポイントのhost:port。

  • PATRONI/_ETCD/_SRV :クラスター自動検出用にSRVレコードを検索するドメイン。Patroniは、指定されたドメインのこれらのSRVサービス名を(最初に成功するまでこの順序で)クエリしようとします: _etcd-client-ssl 、 _etcd-client 、 _etcd-ssl 、 _etcd 、 _etcd-server-ssl 、 _etcd-server 。 _etcd-server-ssl または _etcd-server のSRVレコードが取得された場合、ETCDピアプロトコルが使用され、使用可能なメンバーのETCDがクエリされます。それ以外の場合、SRVレコードのホストが使用されます。

  • PATRONI/_ETCD/_SRV/_SUFFIX :検出中に照会されるSRV名のサフィックスを構成します。このフラグを使用して、同じドメインの下の複数のetcdクラスターを区別します。 PATRONI/_ETCD/_SRV/_SUFFIX と組み合わせてのみ機能します。たとえば、 PATRONI_ETCD_SRV_SUFFIX=foo および PATRONI_ETCD_SRV=example.org が設定されている場合、次のDNSSRVクエリが作成されます。

  • PATRONI/_ETCD/_USERNAME :etcd認証のユーザー名。

  • PATRONI/_ETCD/_PASSWORD :etcd認証のパスワード。

  • PATRONI/_ETCD/_CACERT :CA証明書。存在する場合、検証が有効になります。

  • PATRONI/_ETCD/_CERT :クライアント証明書を含むファイル。

  • PATRONI/_ETCD/_KEY :クライアントキーを持つファイル。キーが証明書の一部である場合は空にできます。

Etcdv3

Etcdv3の環境名はEtcdと似ています。変数名に ETCD の代わりに ETCD3 を使用するだけです。例: PATRONI_ETCD3_HOST 、 PATRONI_ETCD3_CACERT Etcd。

警告

プロトコルバージョン2で作成されたキーはプロトコルバージョン3では表示されず、その逆です。したがって、Patroni構成を更新するだけでEtcdからEtcdv3に切り替えることはできません。

ZooKeeper

  • PATRONI/_ZOOKEEPER/_HOSTS :ZooKeeperクラスターメンバーのコンマ区切りリスト:/"'host1:port1','host2:port2','etc...'/"。すべてのエンティティを引用することが重要です!

  • PATRONI/_ZOOKEEPER/_USE/_SSL :(オプション)SSLを使用するかどうか。デフォルトは false です。 false に設定されている場合、SSL固有のパラメーターはすべて無視されます。

  • PATRONI/_ZOOKEEPER/_CACERT :(オプション)CA証明書。存在する場合、検証が有効になります。

  • PATRONI/_ZOOKEEPER/_CERT :(オプション)クライアント証明書を含むファイル。

  • PATRONI/_ZOOKEEPER/_KEY :(オプション)クライアントキーを含むファイル。

  • PATRONI/_ZOOKEEPER/_KEY/_PASSWORD :(オプション)クライアントキーのパスワード。

  • PATRONI/_ZOOKEEPER/_VERIFY :(オプション)証明書を検証するかどうか。デフォルトは true です。

  • PATRONI/_ZOOKEEPER/_SET/_ACLS :(オプション)設定されている場合、作成する各ZNodeにデフォルトのACLを適用するようにKazooを構成します。ACLは「x509」スキーマを想定し、プリンシパルをキーとし、値のリストとして1つ以上の権限を含む辞書として指定する必要があります。パーミッションは、 CREATE 、 READ 、 WRITE 、 DELETE または ADMIN のいずれかです。たとえば、 set_acls: {CN=principal1: [CREATE, READ], CN=principal2: [ALL]} 。

注釈

SSLをサポートするには kazoo>=2.6.0 をインストールする必要があります。

出展者

  • PATRONI/_EXHIBITOR/_HOSTS :出展者(ZooKeeper)ノードの初期リスト:'host1,host2,etc...'。このリストは、Exhibitor(ZooKeeper)クラスタートポロジが変更されるたびに自動的に更新されます。

  • PATRONI/_EXHIBITOR/_PORT :出展者ポート。

Kubernetes

  • PATRONI/_KUBERNETES/_BYPASS/_API/_SERVICE :(オプション)KubernetesAPIと通信するとき、Patroniは通常`kubernetes`サービスに依存しています。そのアドレスは、KUBERNETES_SERVICE_HOST`環境変数を介してポッドで公開されます。`PATRONI_KUBERNETES_BYPASS_API_SERVICE`が ``true` に設定されている場合、パトロニはサービスの背後にあるAPIノードのリストを解決し、それらに直接接続します。

  • PATRONI/_KUBERNETES/_NAMESPACE :(オプション)Patroniポッドが実行されているKubernetes名前空間。デフォルト値は`default`です。

  • PATRONI/_KUBERNETES/_LABELS :形式 {label1: value1, label2: value2} のラベル。これらのラベルは、現在のクラスターに関連付けられている既存のオブジェクト(PodとEndpointsまたはConfigMapのいずれか)を見つけるために使用されます。また、Patroniは、作成するすべてのオブジェクト(EndpointまたはConfigMap)にそれらを設定します。

  • PATRONI/_KUBERNETES/_SCOPE/_LABEL :(オプション)クラスター名を含むラベルの名前。デフォルト値は`cluster-name`です。

  • PATRONI/_KUBERNETES/_ROLE/_LABEL :(オプション)ロール(マスターまたはレプリカまたはその他のカスタム値)を含むラベルの名前。Patroniは、実行されるPodにこのラベルを設定します。デフォルト値は role です。

  • PATRONI/_KUBERNETES/_LEADER/_LABEL/_VALUE :(オプション)Postgresロールが`master`の場合のポッドラベルの値。デフォルト値は`master`です。

  • PATRONI/_KUBERNETES/_FOLLOWER/_LABEL/_VALUE :(オプション)Postgresロールが`replica`の場合のポッドラベルの値。デフォルト値は`replica`です。

  • PATRONI/_KUBERNETES/_STANDBY/_LEADER/_LABEL/_VALUE :(オプション)Postgresロールが standby-leader の場合のポッドラベルの値。デフォルト値は standby-leader です。

  • PATRONI/_KUBERNETES/_TMP/_ROLE/_LABEL :(オプション)ロール(マスターまたはレプリカ)を含む一時ラベルの名前。このラベルの値は、常に対応するロールのデフォルトを使用します。必要な場合のみ設定してください。

  • PATRONI/_KUBERNETES/_USE/_ENDPOINTS :(オプション)trueに設定されている場合、PatroniはConfigMapの代わりにEndpointsを使用して、リーダー選挙を実行し、クラスターの状態を維持します。

  • PATRONI/_KUBERNETES/_POD/_IP :(オプション)パトロニが実行されているポッドのIPアドレス。この値は`PATRONI_KUBERNETES_USE_ENDPOINTS`が有効な場合に必須であり、ポッドのPostgreSQLが昇格するときにリーダーエンドポイントサブセットを設定するために使用されます。

  • PATRONI/_KUBERNETES/_PORTS :(オプション)サービスオブジェクトにポートの名前がある場合、同じ名前がEndpointオブジェクトに表示される必要があります。そうでない場合、サービスは動作しません。たとえば、サービスが {Kind: Service, spec: {ports: [{name: postgresql, port: 5432, targetPort: 5432}]}} として定義されている場合、 PATRONI_KUBERNETES_PORTS='[{/"name/": /"postgresql/", /"port/": 5432}]' を設定する必要があり、Patroniはそれを使用してリーダーエンドポイントのサブセットを更新します。このパラメータは、`PATRONI_KUBERNETES_USE_ENDPOINTS`が設定されている場合にのみ使用されます。

  • PATRONI/_KUBERNETES/_CACERT :(オプション)KubernetesAPISSL証明書の検証中に使用する信頼できるCAの証明書を含むCA_BUNDLEファイルを含むファイルを指定します。提供されない場合、パトニはServiceAccountシークレットによって提供される値を使用します。

  • PATRONI/_RETRIABLE/_HTTP/_CODES :(オプション)リトライするK8sAPIからのHTTPステータスコードのリスト。デフォルトでは、Patroniは 500 、 503 、および 504 で再試行しています、またはK8sAPI応答に retry-after HTTPヘッダーがある場合。

Raft(非推奨)

  • PATRONI/_RAFT/_SELF/_ADDR :Raft接続をリッスンする ip:port 。 self_addr は、クラスターの他のノードからアクセスできる必要があります。設定されていない場合、ノードはコンセンサスに参加しません。

  • PATRONI/_RAFT/_BIND/_ADDR :(オプション)Raft接続をリッスンする ip:port 。指定しない場合、 self_addr が使用されます。

  • PATRONI/_RAFT/_PARTNER/_ADDRS : /"'ip1:port1','ip2:port2'/" 形式のクラスター内の他のPatroniノードのリスト。すべてのエンティティを引用することが重要です!

  • PATRONI/_RAFT/_DATA/_DIR :Raftログとスナップショットを保存するディレクトリ。指定しない場合、現在の作業ディレクトリが使用されます。

  • PATRONI/_RAFT/_PASSWORD :(オプション)指定されたパスワードでRaftトラフィックを暗号化します。 cryptography pythonモジュールが必要です。

PostgreSQL

  • PATRONI/_POSTGRESQL/_LISTEN :PostgresがリッスンするIPアドレス+ポート。ポートコンポーネントが最後のものの後にコロンで追加されている限り、複数のコンマ区切りアドレスが許可されます、つまり listen: 127.0.0.1,127.0.0.2:5432 。Patroniはこのリストの最初のアドレスを使用して、PostgreSQLノードへのローカル接続を確立します。

  • PATRONI/_POSTGRESQL/_CONNECT/_ADDRESS :IPアドレス+他のノードやアプリケーションからPostgresにアクセスするためのポート。

  • PATRONI/_POSTGRESQL/_PROXY/_ADDRESS :Postgresの隣で実行されている接続プール(例pgbouncer)にアクセスできるIPアドレス+ポート。値はDCSのメンバーキーに proxy_url として書き込まれ、サービス検出に使用/役立つ可能性があります。

  • PATRONI/_POSTGRESQL/_DATA/_DIR :Postgresデータディレクトリの場所。既存またはPatroniによって初期化されます。

  • PATRONI/_POSTGRESQL/_CONFIG/_DIR :Postgres構成ディレクトリの場所、デフォルトはデータディレクトリ。Patroniが書き込み可能である必要があります。

  • PATRONI/_POSTGRESQL/_BIN_DIR :PostgreSQLバイナリへのパス。(pg_ctl、initdb、pg_controldata、pg_basebackup、postgres、pg_isready、pg_rewind)デフォルト値は空の文字列であり、PATH環境変数を使用して実行可能ファイルを見つけます。

  • PATRONI/_POSTGRESQL/_BIN/_PG/_CTL :(オプション) pg_ctl バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_INITDB :(オプション) initdb バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_PG/_CONTROLDATA :(オプション) pg_controldata バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_PG/_BASEBACKUP :(オプション) pg_basebackup バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_POSTGRES :(オプション) postgres バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_IS/_READY :(オプション) pg_isready バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_PG/_REWIND :(オプション) pg_rewind バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_PGPASS : PATRONI/_POSTGRESQL/_PGPASS _パスワードファイルへのパス。Patroniは、pg/_basebackupを実行する前に、およびその他の状況下でこのファイルを作成します。場所はPatroniが書き込み可能である必要があります。

  • PATRONI/_REPLICATION/_USERNAME :レプリケーションユーザー名;ユーザーは初期化中に作成されます。レプリカはこのユーザーを使用して、ストリーミングレプリケーションを介してレプリケーションソースにアクセスします

  • PATRONI/_REPLICATION/_PASSWORD :レプリケーションパスワード。ユーザーは初期化中に作成されます。

  • PATRONI/_REPLICATION/_SSLMODE :(オプション) PATRONI/_REPLICATION/_SSLMODE _接続パラメーターにマップし、クライアントがサーバーとのTLSネゴシエーションモードのタイプを指定できるようにします。各モードの仕組みの詳細については、 PATRONI/_REPLICATION/_SSLMODE _をご覧ください。デフォルトモードは prefer です。

  • PATRONI/_REPLICATION/_SSLKEY :(オプション) PATRONI/_REPLICATION/_SSLKEY _接続パラメーターにマップし、クライアントの証明書で使用される秘密鍵の場所を指定します。

  • PATRONI/_REPLICATION/_SSLPASSWORD :(オプション) PATRONI/_REPLICATION/_SSLPASSWORD _接続パラメーターにマップし、 PATRONI_REPLICATION_SSLKEY で指定された秘密鍵のパスワードを指定します。

  • PATRONI/_REPLICATION/_SSLCERT :(オプション)クライアント証明書の場所を指定する PATRONI/_REPLICATION/_SSLCERT _接続パラメーターにマップします。

  • PATRONI/_REPLICATION/_SSLROOTCERT :(オプション) PATRONI/_REPLICATION/_SSLROOTCERT _接続パラメーターにマップします。これは、クライアントがサーバーの証明書を検証するために使用する1つ以上の認証局(CA)証明書を含むファイルの場所を指定します。

  • PATRONI/_REPLICATION/_SSLCRL :(オプション) PATRONI/_REPLICATION/_SSLCRL _接続パラメーターにマップし、証明書失効リストを含むファイルの場所を指定します。クライアントは、このリストに証明書が存在するサーバーへの接続を拒否します。

  • PATRONI/_REPLICATION/_SSLCRLDIR :(オプション) PATRONI/_REPLICATION/_SSLCRLDIR _接続パラメーターにマップし、証明書失効リストを含むファイルがあるディレクトリの場所を指定します。クライアントは、このリストに証明書が存在するサーバーへの接続を拒否します。

  • PATRONI/_REPLICATION/_GSSENCMODE :(オプション) PATRONI/_REPLICATION/_GSSENCMODE _接続パラメーターにマップします。これは、安全なGSSTCP/IP接続をサーバーとネゴシエートするかどうか、またはどの優先度でネゴシエートするかを決定します

  • PATRONI/_REPLICATION/_CHANNEL/_BINDING :(オプション) PATRONI/_REPLICATION/_CHANNEL/_BINDING _接続パラメーターにマップし、クライアントによるチャネルバインディングの使用を制御します。

  • PATRONI/_SUPERUSER/_USERNAME :スーパーユーザーの名前、初期化(initdb)中に設定され、後でPatroniがpostgresに接続するために使用します。また、このユーザーはpg_rewindによって使用されます。

  • PATRONI/_SUPERUSER/_PASSWORD :スーパーユーザーのパスワード、初期化(initdb)中に設定。

  • PATRONI/_SUPERUSER/_SSLMODE :(オプション) PATRONI/_SUPERUSER/_SSLMODE _接続パラメーターにマップし、クライアントがサーバーとのTLSネゴシエーションモードのタイプを指定できるようにします。各モードの仕組みの詳細については、 PATRONI/_SUPERUSER/_SSLMODE _をご覧ください。デフォルトモードは prefer です。

  • PATRONI/_SUPERUSER/_SSLKEY :(オプション) PATRONI/_SUPERUSER/_SSLKEY _接続パラメーターにマップし、クライアントの証明書で使用される秘密鍵の場所を指定します。

  • PATRONI/_SUPERUSER/_SSLPASSWORD :(オプション) PATRONI/_SUPERUSER/_SSLPASSWORD _接続パラメーターにマップし、 PATRONI_SUPERUSER_SSLKEY で指定された秘密鍵のパスワードを指定します。

  • PATRONI/_SUPERUSER/_SSLCERT :(オプション)クライアント証明書の場所を指定する PATRONI/_SUPERUSER/_SSLCERT _接続パラメーターにマップします。

  • PATRONI/_SUPERUSER/_SSLROOTCERT :(オプション) PATRONI/_SUPERUSER/_SSLROOTCERT _接続パラメーターにマップします。これは、クライアントがサーバーの証明書を検証するために使用する1つ以上の認証局(CA)証明書を含むファイルの場所を指定します。

  • PATRONI/_SUPERUSER/_SSLCRL :(オプション) PATRONI/_SUPERUSER/_SSLCRL _接続パラメーターにマップし、証明書失効リストを含むファイルの場所を指定します。クライアントは、このリストに証明書が存在するサーバーへの接続を拒否します。

  • PATRONI/_SUPERUSER/_SSLCRLDIR :(オプション) PATRONI/_SUPERUSER/_SSLCRLDIR _接続パラメーターにマップし、証明書失効リストを含むファイルがあるディレクトリの場所を指定します。クライアントは、このリストに証明書が存在するサーバーへの接続を拒否します。

  • PATRONI/_SUPERUSER/_GSSENCMODE :(オプション) PATRONI/_SUPERUSER/_GSSENCMODE _接続パラメーターにマップします。これは、安全なGSSTCP/IP接続をサーバーとネゴシエートするかどうか、またはどの優先度でネゴシエートするかを決定します

  • PATRONI/_SUPERUSER/_CHANNEL/_BINDING :(オプション) PATRONI/_SUPERUSER/_CHANNEL/_BINDING _接続パラメーターにマップし、クライアントによるチャネルバインディングの使用を制御します。

  • PATRONI/_REWIND/_USERNAME :(オプション) pg_rewind のユーザーの名前。ユーザーはpostgres11+の初期化中に作成され、必要なすべての PATRONI/_REWIND/_USERNAME _が付与されます。

  • PATRONI/_REWIND/_PASSWORD :(オプション) pg_rewind のユーザーのパスワード。ユーザーは初期化中に作成されます。

  • PATRONI/_REWIND/_SSLMODE :(オプション) PATRONI/_REWIND/_SSLMODE _接続パラメーターにマップし、クライアントがサーバーとのTLSネゴシエーションモードのタイプを指定できるようにします。各モードの仕組みの詳細については、 PATRONI/_REWIND/_SSLMODE _をご覧ください。デフォルトモードは prefer です。

  • PATRONI/_REWIND/_SSLKEY :(オプション) PATRONI/_REWIND/_SSLKEY _接続パラメーターにマップし、クライアントの証明書で使用される秘密鍵の場所を指定します。

  • PATRONI/_REWIND/_SSLPASSWORD :(オプション) PATRONI/_REWIND/_SSLPASSWORD _接続パラメーターにマップし、 PATRONI_REWIND_SSLKEY で指定された秘密鍵のパスワードを指定します。

  • PATRONI/_REWIND/_SSLCERT :(オプション)クライアント証明書の場所を指定する PATRONI/_REWIND/_SSLCERT _接続パラメーターにマップします。

  • PATRONI/_REWIND/_SSLROOTCERT :(オプション) PATRONI/_REWIND/_SSLROOTCERT _接続パラメーターにマップします。これは、クライアントがサーバーの証明書を検証するために使用する1つ以上の認証局(CA)証明書を含むファイルの場所を指定します。

  • PATRONI/_REWIND/_SSLCRL :(オプション) PATRONI/_REWIND/_SSLCRL _接続パラメーターにマップし、証明書失効リストを含むファイルの場所を指定します。クライアントは、このリストに証明書が存在するサーバーへの接続を拒否します。

  • PATRONI/_REWIND/_SSLCRLDIR :(オプション) PATRONI/_REWIND/_SSLCRLDIR _接続パラメーターにマップし、証明書失効リストを含むファイルがあるディレクトリの場所を指定します。クライアントは、このリストに証明書が存在するサーバーへの接続を拒否します。

  • PATRONI/_REWIND/_GSSENCMODE :(オプション) PATRONI/_REWIND/_GSSENCMODE _接続パラメーターにマップします。これは、安全なGSSTCP/IP接続をサーバーとネゴシエートするかどうか、またはどの優先度でネゴシエートするかを決定します

  • PATRONI/_REWIND/_CHANNEL/_BINDING :(オプション) PATRONI/_REWIND/_CHANNEL/_BINDING _接続パラメーターにマップし、クライアントによるチャネルバインディングの使用を制御します。

RESTAPI

  • PATRONI/_RESTAPI/_CONNECT/_ADDRESS :RESTAPIにアクセスするためのIPアドレスとポート。

  • PATRONI/_RESTAPI/_LISTEN :PatroniがリッスンするIPアドレスとポート。HAProxyのヘルスチェック情報を提供します。

  • PATRONI/_RESTAPI/_USERNAME :安全でないRESTAPIエンドポイントを保護するための基本認証ユーザー名。

  • PATRONI/_RESTAPI/_PASSWORD :安全でないRESTAPIエンドポイントを保護するための基本認証パスワード。

  • PATRONI/_RESTAPI/_CERTFILE :PEM形式の証明書を含むファイルを指定します。certfileを指定しないか空の場合、APIサーバーはSSLなしで動作します。

  • PATRONI/_RESTAPI/_KEYFILE :PEM形式の秘密鍵を含むファイルを指定します。

  • PATRONI/_RESTAPI/_KEYFILE/_PASSWORD :キーファイルを復号化するためのパスワードを指定します。

  • PATRONI/_RESTAPI/_CAFILE :クライアント証明書の検証中に使用する信頼できるCAの証明書を含むCA_BUNDLEを持つファイルを指定します。

  • PATRONI/_RESTAPI/_CIPHERS :(オプション)許可される暗号スイートを指定します(例/"ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:!SSLv1:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1/")

  • PATRONI/_RESTAPI/_VERIFY/_CLIENT : none (デフォルト)、 optional または required 。 none RESTAPIの場合、クライアント証明書はチェックされません。すべてのRESTAPI呼び出しに required クライアント証明書が必要な場合。すべての安全でないRESTAPIエンドポイントに optional クライアント証明書が必要な場合。 required が使用されている場合、証明書の署名の検証が成功すると、クライアント認証が成功します。 optional の場合、クライアント証明書は PUT 、 POST 、 PATCH 、および DELETE 要求に対してのみチェックされます。

  • PATRONI/_RESTAPI/_ALLOWLIST :(オプション):安全でないRESTAPIエンドポイントの呼び出しを許可するホストのセットを指定します。単一の要素は、ホスト名、IPアドレス、またはCIDR表記を使用したネットワークアドレスになります。デフォルトでは allow all が使用されます。 allowlist または allowlist_include_members が設定されている場合、含まれていないものはすべて拒否されます。

  • PATRONI/_RESTAPI/_ALLOWLIST/_INCLUDE/_MEMBERS :(オプション): true に設定すると、DCSに登録されている他のクラスターメンバーから安全でないRESTAPIエンドポイントにアクセスできます(IPアドレスまたはホスト名はメンバー api_url から取得されます)。OSが送信接続に別のIPを使用する場合があることに注意してください。

  • PATRONI/_RESTAPI/_HTTP/_EXTRA/_HEADERS :(オプション)HTTPヘッダーにより、RESTAPIサーバーはHTTP応答で追加情報を渡すことができます。

  • PATRONI/_RESTAPI/_HTTPS/_EXTRA/_HEADERS :(オプション)HTTPSヘッダーにより、RESTAPIサーバーは、TLSが有効になっている場合にHTTP応答で追加情報を渡すことができます。これにより、 http_extra_headers に設定された追加情報も渡されます。

  • PATRONI/_RESTAPI/_REQUEST/_QUEUE/_SIZE :(オプション):PatroniRESTAPIが使用するTCPソケットのリクエストキューサイズを設定します。キューがいっぱいになると、それ以降の要求には「接続が拒否されました」エラーが発生します。デフォルト値は5です。

警告

  • PATRONI_RESTAPI_CONNECT_ADDRESS は、特定のPatroniクラスターのすべてのノードからアクセスできる必要があります。内部では、Patroniはリーダーレース中にそれを使用して、レプリケーションラグが最小限に抑えられたノードを見つけています。

  • クライアント証明書の検証を有効にした場合( PATRONI_RESTAPI_VERIFY_CLIENT が required に設定されている場合)、 PATRONI_RESTAPI_VERIFY_CLIENT も PATRONI_CTL_CERTFILE 、 PATRONI_CTL_KEYFILE 、 PATRONI_CTL_KEYFILE_PASSWORD で PATRONI_RESTAPI_VERIFY_CLIENT を提供します。提供されていない場合、Patroniは正しく動作しません。

CTL

  • PATRONICTL/_CONFIG/_FILE :(オプション)構成ファイルの場所。

  • PATRONI/_CTL/_USERNAME :(オプション)保護されたRESTAPIエンドポイントにアクセスするための基本認証ユーザー名。提供されない場合、patanictlはRESTAPI/"username/"パラメーターに提供された値を使用します。

  • PATRONI/_CTL/_PASSWORD :(オプション)保護されたRESTAPIエンドポイントにアクセスするための基本認証パスワード。提供されない場合、patanictlはRESTAPI/"password/"パラメーターに提供された値を使用します。

  • PATRONI/_CTL/_INSECURE :(オプション)SSL証明書を検証せずにRESTAPIへの接続を許可します。

  • PATRONI/_CTL/_CACERT :(オプション)RESTAPISSL証明書の検証中に使用する、信頼できるCAの証明書を含むCA_BUNDLEファイルまたはディレクトリを含むファイルを指定します。提供されない場合、patanictlはRESTAPI/"cafile/"パラメーターに提供された値を使用します。

  • PATRONI/_CTL/_CERTFILE :(オプション)クライアント証明書を含むファイルをPEM形式で指定します。

  • PATRONI/_CTL/_KEYFILE :(オプション)クライアント秘密鍵を含むファイルをPEM形式で指定します。

  • PATRONI/_CTL/_KEYFILE/_PASSWORD :(オプション)クライアントキーファイルを復号化するためのパスワードを指定します。