環境構成の設定

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

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

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

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

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

  • PATRONI/_SCOPE :クラスター名

ログ

  • PATRONI/_LOG/_TYPE :ログの形式を設定します。 PATRONI/_LOG/_TYPE または PATRONI/_LOG/_TYPE のいずれかになります。 PATRONI/_LOG/_TYPE 形式を使用するには、 PATRONI/_LOG/_TYPE がインストールされている必要があります。デフォルト値は PATRONI/_LOG/_TYPE です。

  • 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 :ログのフォーマット文字列を設定します。ログタイプが PATRONI/_LOG/_FORMAT の場合、ログ形式は文字列である必要があります。使用可能な属性については、 PATRONI/_LOG/_FORMAT を参照してください。ログタイプが PATRONI/_LOG/_FORMAT の場合、ログ形式は文字列に加えてリストにすることもできます。各リスト項目はLogRecord属性に対応する必要があります。フィールド名のみが必要であり、 %( および ) は省略する必要があることに注意してください。別のキー名でログフィールドを出力する場合は、辞書キーがログフィールドで、値がログに出力するフィールドの名前である辞書を使用します。デフォルト値は %(asctime)s%(levelname)s:%(message)s です。

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

  • PATRONI/_LOG/_STATIC/_FIELDS :ログにフィールドを追加します。このオプションは、ログタイプが PATRONI/_LOG/_STATIC/_FIELDS に設定されている場合にのみ使用できます。例 PATRONI_LOG_STATIC_FIELDS=/"{app: patroni}/"

  • 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 :ログのローリングをトリガーするpatroni.logファイルのサイズ(バイト単位)。

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

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 などを使用します。

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

Consul

  • PATRONI/_CONSUL/_HOST :Consulローカルエージェントのホスト:ポート。

  • 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 :(オプション)ノードの役割に応じて、スコープパラメーターとタグマスター、プライマリ、レプリカ、またはスタンバイリーダーによって定義された名前でサービスを登録するかどうか。デフォルトは 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 _も参照してください。

など

  • 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エンドポイントのリスト

  • 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エンドポイントのホスト:ポート。

  • 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クエリが作成されます: _etcd-client-ssl-foo._tcp.example.com (考えられるすべてのETCDSRVサービス名に対して同様)。

  • 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 など。

警告

プロトコルバージョン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]} 。

  • PATRONI/_ZOOKEEPER/_AUTH/_DATA :(オプション)接続に使用する認証資格情報。`scheme`がキー、`credential`が値である形式の辞書である必要があります。デフォルトは空の辞書です。

注釈

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

エキシビター

  • PATRONI/_EXHIBITOR/_HOSTS :エキシビター(ZooKeeper)ノードの初期リスト(形式:「host1、host2、etc...」)。このリストは、Exhibitionor(ZooKeeper)クラスタートポロジが変更されるたびに自動的に更新されます。

  • PATRONI/_EXHIBITOR/_PORT :エキシビターポート。

Kubernetes

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

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

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

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

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

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

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

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

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

  • PATRONI/_KUBERNETES/_USE/_ENDPOINTS :(オプション)trueに設定すると、PatroniはConfigMapの代わりにエンドポイントを使用してリーダーの選出を実行し、クラスターの状態を維持します。

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

  • PATRONI/_KUBERNETES/_PORTS :(オプション)Serviceオブジェクトにポートの名前がある場合、同じ名前が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ファイルを含むファイルを指定します。指定されない場合、patroniは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 :他のノードやアプリケーションからPostgresにアクセスできるIPアドレス+ポート。

  • 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)中に設定され、後でPostgresに接続するためにPatroniによって使用されます。また、このユーザーは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 :HAProxyのヘルスチェック情報を提供するためにPatroniがリッスンするIPアドレスとポート。

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

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

  • 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エンドポイントの呼び出しを許可するホストのセットを指定します。単一の要素は、CIDR表記を使用したホスト名、IPアドレス、またはネットワークアドレスです。デフォルトでは 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ヘッダーを使用すると、TLSが有効な場合に、RESTAPIサーバーが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エンドポイントにアクセスするための基本認証ユーザー名。指定されない場合、 PATRONI/_CTL/_USERNAME はRESTAPIの「username」パラメータに指定された値を使用します。

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

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

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

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

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

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