Параметры конфигурации среды
Эта страница переведена при помощи нейросети GigaChat.
Некоторые параметры конфигурации, определенные в файле конфигурации Patroni, можно переопределить с помощью системных переменных окружения. В этом документе перечислены все переменные окружения, обрабатываемые Patroni. Значения, установленные через эти переменные, всегда имеют приоритет над значениями, установленными в файле конфигурации Patroni.
Глобальные/универсальные
PATRONI_CONFIGURATION– возможно установить всю конфигурацию для Patroni черезPATRONI_CONFIGURATIONпеременную окружения. В этом случае любые другие переменные окружения не будут учитываться!PATRONI_NAME– имя узла, на котором выполняется текущая версия Patroni. Должно быть уникальным для кластера.PATRONI_NAMESPACE– путь внутри хранилища конфигурации, где Patroni будет хранить информацию о кластере. Значение по умолчанию:"/service".PATRONI_SCOPE– имя кластера.
Журнал
PATRONI_LOG_LEVEL– устанавливает общий уровень ведения журнала. Значение по умолчанию -INFO(см. документацию по регистрации Python)PATRONI_LOG_TRACEBACK_LEVEL– задает уровень, на котором будут видны трассировки. Значение по умолчанию -ERROR. Установите значениеDEBUG, чтобы трассировки отображались только при активном уровне логированияPATRONI_LOG_LEVEL=DEBUG.PATRONI_LOG_FORMAT– задает строку форматирования журнала. Значение по умолчанию -%(asctime)s %(levelname)s: %(message)s(см. атрибуты записи журнала).PATRONI_LOG_DATEFORMAT– задает строку форматирования даты и времени. (см. документацию по formatTime())PATRONI_LOG_MAX_QUEUE_SIZE– Patroni использует двухэтапную регистрацию. Записи журнала записываются во внутреннюю память очереди, и существует отдельная нить, которая извлекает их из очереди и записывает в stderr или файл. Максимальный размер внутренней очереди ограничен по умолчанию значением1000записей, что достаточно для хранения журналов за последние 1 час 20 минут.PATRONI_LOG_DIR– каталог для записи журналов приложений. Каталог должен существовать и быть доступным для записи пользователем, выполняющим Patroni. Если установите эту переменную окружения, приложение будет сохранять по умолчанию 4 журнала размером 25 МБ каждый. Можно настроить эти значения сохранения с помощью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
Включает интеграцию Patroni с Citus. Если настроено, Patroni будет заботиться о регистрации узлов рабочих станций Citus на координаторе. Можно найти больше информации о поддержке Citus здесь.
PATRONI_CITUS_GROUP– идентификатор группы Citus, целое число. Используйте0для координатора и1,2, и т.д. для работниковPATRONI_CITUS_DATABASE– база данных, где должно быть создано расширениеcitus. Должна быть одинаковой на координаторе и всех рабочих станциях. В настоящее время поддерживается только одна база данных.
Consul
PATRONI_CONSUL_HOST– хост:порт для локального агента Consul.PATRONI_CONSUL_URL– URL для локального агента Consul, в формате: http(s)://host:portPATRONI_CONSUL_PORT– (необязательно) порт ConsulPATRONI_CONSUL_SCHEME– (необязательно)httpилиhttps, по умолчаниюhttpPATRONI_CONSUL_TOKEN– (необязательно) токен ACLPATRONI_CONSUL_VERIFY– (необязательно) проверять ли сертификат SSL для запросов HTTPSPATRONI_CONSUL_CACERT– (необязательно) сертификат центра сертификации. Если он присутствует, будет включена проверка подлинности.PATRONI_CONSUL_CERT– (необязательно) файл с сертификатом клиентаPATRONI_CONSUL_KEY– (необязательно) файл с ключом клиента. Может быть пустым, если ключ является частью сертификата.PATRONI_CONSUL_DC– (необязательно) центр обработки данных для связи. По умолчанию используется центр обработки данных хоста.PATRONI_CONSUL_CONSISTENCY– (необязательно) выберите режим согласованности консул. Возможные значения -default,consistent, илиstale(более подробную информацию см. в ссылке на справочник по API консул).PATRONI_CONSUL_CHECKS– (необязательно) список проверок работоспособности Consul, используемых для сеанса. По умолчанию используется пустой список.PATRONI_CONSUL_REGISTER_SERVICE– (необязательно) регистрировать ли службу с именем, определенным параметром области, и меткой мастер, первичный, реплика или резервный лидер в зависимости от роли узла. По умолчанию установлено значениеfalse.PATRONI_CONSUL_SERVICE_TAGS– (необязательно) дополнительные статические теги, которые нужно добавить к службе Consul помимо роли (master/primary/replica/standby-leader). По умолчанию используется пустой список.PATRONI_CONSUL_SERVICE_CHECK_INTERVAL– (необязательно) как часто выполнять проверку работоспособности по зарегистрированному URL-адресу.PATRONI_CONSUL_SERVICE_CHECK_TLS_SERVER_NAME– (необязательно) переопределить имя хоста SNI при подключении через TLS, см. также ссылку на справочник по API проверки агента консул.
Etcd
PATRONI_ETCD_PROXY– прокси URL для etcd. Если подключаетесь к etcd с использованием прокси, используйте этот параметр вместоPATRONI_ETCD_URLPATRONI_ETCD_URL– URL для etcd в формате: http(s)://(имя пользователя:пароль@)хост:портPATRONI_ETCD_HOSTS– список конечных точек etcd в формате 'host1:port1', 'host2:port2' и т.д.PATRONI_ETCD_USE_PROXIES– если этот параметр установлен в значение true, Patroni будет рассматриватьузлыкак список прокси и не будет выполнять обнаружение топологии кластера etcd, а будет придерживаться фиксированного спискаузлов.PATRONI_ETCD_PROTOCOL– http или https; если не указано, используется http. Если указанURL-адресилипрокси, то протокол будет взят из них.PATRONI_ETCD_HOST– хост:порт для конечной точки etcd.PATRONI_ETCD_SRV– домен для поиска записи SRV (записи ресурсов службы) для автоматического обнаружения кластеров. Patroni попытается запросить эти имена служб SRV для указанного домена (в таком порядке до первого успеха):_etcd-client-ssl,_etcd-client,_etcd-ssl,_etcd,_etcd-server-ssl,_etcd-server. Если записи SRV для_etcd-server-sslили_etcd-serverполучены, то будет использоваться протокол одноранговых узлов ETCD для запроса ETCD о доступных членах. В противном случае будут использованы узлы из записей SRV.PATRONI_ETCD_SRV_SUFFIX– настраивает суффикс имени SRV, который запрашивается во время обнаружения. Используйте этот флаг для различения нескольких кластеров etcd под одним и тем же доменом. Работает только в сочетании сPATRONI_ETCD_SRV. Например, если установленыPATRONI_ETCD_SRV_SUFFIX=fooиPATRONI_ETCD_SRV=example.org, выполняется следующий запрос DNS SRV:_etcd-client-ssl-foo._tcp.example.com(и так далее для каждого возможного имени службы ETCD SRV).PATRONI_ETCD_USERNAME– имя пользователя для аутентификации etcd.PATRONI_ETCD_PASSWORD– пароль для аутентификации etcd.PATRONI_ETCD_CACERT– сертификат центра сертификации. Если он присутствует, будет включена проверка подлинности.PATRONI_ETCD_CERT– файл с сертификатом клиента.PATRONI_ETCD_KEY– файл с ключом клиента. Может быть пустым, если ключ является частью сертификата.
Etcdv3
Имена переменных среды для Etcdv3 аналогичны именам для Etcd, просто нужно использовать ETCD3 вместо ETCD в имени переменной. Пример: PATRONI_ETCD3_HOST, PATRONI_ETCD3_CACERT и так далее.
Ключ, созданный с использованием версии протокола 2, не виден при использовании версии протокола 3, и наоборот, поэтому невозможно переключиться с Etcd на Etcdv3, просто обновив конфигурацию Patroni.
ZooKeeper
PATRONI_ZOOKEEPER_HOSTS– список членов кластера ZooKeeper, разделенных запятыми: «'host1:port1','host2:port2','и т.д.'». Важно цитировать каждую отдельную сущность!PATRONI_ZOOKEEPER_USE_SSL– (необязательно) используется ли SSL или нет. По умолчанию установлено значениеfalse. Если установлено значениеfalse, все параметры, специфичные для SSL, игнорируются.PATRONI_ZOOKEEPER_CACERT– (необязательно) сертификат центра сертификации. Если он присутствует, будет включена проверка подлинности.PATRONI_ZOOKEEPER_CERT– (необязательно) файл с сертификатом клиента.PATRONI_ZOOKEEPER_KEY– (необязательно) файл с ключом клиента.PATRONI_ZOOKEEPER_KEY_PASSWORD– (необязательно) пароль ключа клиента.PATRONI_ZOOKEEPER_VERIFY– (необязательно) проверять сертификат или нет. По умолчанию установлено значениеtrue.PATRONI_ZOOKEEPER_SET_ACLS– (необязательно) если установлено, настройте Kazoo для применения ACL по умолчанию к каждому узлу ZNode, который он создает. ACL будет предполагать схему 'x509' и должен быть указан в виде словаря с принципалом в качестве ключа и одним или несколькими разрешениями в списке значений. Разрешения могут быть одним изCREATE,READ,WRITE,DELETEилиADMIN. Например,set_acls: {CN=principal1: [CREATE, READ], CN=principal2: [ALL]}.
Требуется установить kazoo>=2.6.0, чтобы поддерживать SSL.
Exhibitor
PATRONI_EXHIBITOR_HOSTS– начальный список узлов Exhibitor (ZooKeeper) в формате: 'host1, host2, etc...'. Этот список автоматически обновляется каждый раз, когда изменяется топология кластера Exhibitor (ZooKeeper).PATRONI_EXHIBITOR_PORT– порт экспоната.
Kubernetes
PATRONI_KUBERNETES_BYPASS_API_SERVICE– (необязательно) при общении с API Kubernetes Patroni обычно полагается на службу Kubernetes, адрес которой раскрывается в подах через переменную окруженияKUBERNETES_SERVICE_HOST. ЕслиPATRONI_KUBERNETES_BYPASS_API_SERVICEустановлен наtrue, Patroni разрешит список узлов API за службой и подключится к ним напрямую.PATRONI_KUBERNETES_NAMESPACE– (необязательно) пространство имен Kubernetes, в котором работает под Patroni. Значение по умолчанию - по умолчанию.PATRONI_KUBERNETES_LABELS– метки в формате{label1: value1, label2: value2}. Эти метки будут использоваться для поиска существующих объектов (Pod и либо Endpoints, либо ConfigMaps), связанных с текущим кластером. Кроме того, Patroni установит их на каждом объекте (Endpoint или ConfigMap), который он создает.PATRONI_KUBERNETES_SCOPE_LABEL– (необязательно) имя метки, содержащей имя кластера. Значение по умолчанию - cluster-name.PATRONI_KUBERNETES_ROLE_LABEL– (необязательно) имя метки, содержащей роль (master или replica или другое пользовательское значение). Patroni установит эту метку на поде, в котором она выполняется. Значение по умолчанию -role.PATRONI_KUBERNETES_LEADER_LABEL_VALUE– (необязательно) значение метки пода при роли PostgreSQL master. Значение по умолчанию - master.PATRONI_KUBERNETES_FOLLOWER_LABEL_VALUE– (необязательно) значение метки пода при роли PostgreSQL replica. Значение по умолчанию - replica.PATRONI_KUBERNETES_STANDBY_LEADER_LABEL_VALUE– (необязательно) значение метки пода при роли PostgreSQLstandby_leader. Значение по умолчанию -master.PATRONI_KUBERNETES_TMP_ROLE_LABEL– (необязательно) имя временной метки, содержащей роль (master или replica). Значение этой метки всегда будет использовать значение по умолчанию соответствующей роли. Устанавливается только при необходимости.PATRONI_KUBERNETES_USE_ENDPOINTS– (необязательно) если установлено значение true, Patroni будет использовать конечную точку вместо ConfigMaps для проведения выборов лидера и поддержания состояния кластера.PATRONI_KUBERNETES_POD_IP– (необязательно) IP-адрес пода, в котором работает Patroni. Это значение требуется при включенииPATRONI_KUBERNETES_USE_ENDPOINTSи используется для заполнения конечных точек лидера, когда под PostgreSQL повышен.PATRONI_KUBERNETES_PORTS– (необязательно) если объект службы имеет имя порта, то же самое имя должно появиться в объекте конечной точки, иначе служба не будет работать. Например, если служба определена как{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– (необязательно) указывает файл с файлом CA_BUNDLE с сертификатами доверенных ЦС для использования при проверке сертификатов SSL API Kubernetes. Если не предоставлено, Patroni будет использовать значение, предоставленное секретом ServiceAccount.PATRONI_RETRIABLE_HTTP_CODES– (необязательно) список кодов состояния HTTP из API K8s для повторной попытки. По умолчанию Patroni повторно пытается выполнить500,503и504, или если ответ API K8s содержит заголовокretry-after.
Raft (устарело)
PATRONI_RAFT_SELF_ADDR–ip:portдля прослушивания соединений Raft. Адресself_addrдолжен быть доступен с других узлов кластера. Если не установлено, узел не будет участвовать в консенсусе.PATRONI_RAFT_BIND_ADDR– (необязательно)ip:portдля прослушивания соединений Raft. Если не указано, будет использоватьсяself_addr.PATRONI_RAFT_PARTNER_ADDRS– список других узлов Patroni в кластере в формате"'ip1:port1','ip2:port2'". Важно цитировать каждую отдельную сущность!PATRONI_RAFT_DATA_DIR– каталог для хранения журнала и моментального снимка Raft. Если не указано, используется текущий рабочий каталог.PATRONI_RAFT_PASSWORD– (необязательно) шифрование трафика Raft с использованием указанного пароля, требует модульcryptography.
PostgreSQL
PATRONI_POSTGRESQL_LISTEN– IP-адрес + порт, к которому подключается Postgres. Допускаются несколько адресов, разделенных запятыми, при условии, что компонент порта добавляется после последнего через двоеточие, например,listen: 127.0.0.1,127.0.0.2:5432. Patroni будет использовать первый адрес из этого списка для установления локальных соединений с узлом PostgreSQL.PATRONI_POSTGRESQL_CONNECT_ADDRESS– IP-адрес + порт, через который Postgres доступен другим узлам и приложениям.PATRONI_POSTGRESQL_PROXY_ADDRESS– IP-адрес + порт, через которые пул соединений (например, PgBouncer), работающий рядом с Postgres, доступен. Значение записывается в ключ члена в 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– путь к файлу паролей .pgpass. Patroni создает этот файл перед выполнениемpg_basebackupи при некоторых других обстоятельствах. Расположение должно быть доступно для записи Patroni.PATRONI_REPLICATION_USERNAME– имя пользователя репликации. Пользователь будет создан во время инициализации. Реплики будут использовать этого пользователя для доступа к источнику репликации через потоковую репликациюPATRONI_REPLICATION_PASSWORD– пароль для репликации; пользователь будет создан во время инициализации.PATRONI_REPLICATION_SSLMODE– (необязательно) соответствует параметру подключения sslmode, который позволяет клиенту указать тип режима согласования TLS с сервером. Для получения дополнительной информации о том, как работает каждый режим, посетите документацию PostgreSQL. Режим по умолчанию -prefer.PATRONI_REPLICATION_SSLKEY– (необязательно) соответствует параметру подключения sslkey, который указывает расположение секретного ключа, используемого с сертификатом клиента.PATRONI_REPLICATION_SSLPASSWORD– (необязательно) соответствует параметру подключения sslpassword, который задает пароль для секретного ключа, указанного вPATRONI_REPLICATION_SSLKEY.PATRONI_REPLICATION_SSLCERT– (необязательно) соответствует параметру подключения sslcert, который указывает местоположение сертификата клиента.PATRONI_REPLICATION_SSLROOTCERT– (необязательно) соответствует параметру подключения sslrootcert, который указывает местоположение файла, содержащего один или несколько сертификатов удостоверяющих центров (УЦ), которые клиент будет использовать для проверки сертификата сервера.PATRONI_REPLICATION_SSLCRL– (необязательно) соответствует параметру подключения sslcrl, который указывает расположение файла, содержащего список отозванных сертификатов. Клиент отклонит подключение к любому серверу, у которого есть сертификат, присутствующий в этом списке.PATRONI_REPLICATION_SSLCRLDIR– (необязательно) соответствует параметру подключения sslcrldir, который указывает расположение каталога с файлами, содержащими список отозванных сертификатов. Клиент отклонит подключение к любому серверу, у которого есть сертификат, присутствующий в этом списке.PATRONI_REPLICATION_GSSENCMODE– (необязательно) соответствует параметру подключения gssencmode, который определяет, будет ли осуществляться безопасное соединение GSS TCP/IP с сервером и с каким приоритетом.PATRONI_REPLICATION_CHANNEL_BINDING– (необязательно) соответствует параметру подключения channel_binding, который контролирует использование клиентом привязки канала.PATRONI_SUPERUSER_USERNAME– имя суперпользователя, установленное во время инициализации (initdb), и позже используемое Patroni для подключения к postgres. Этот пользователь также используется pg_rewind.PATRONI_SUPERUSER_PASSWORD– пароль суперпользователя, установленный во время инициализации (initdb).PATRONI_SUPERUSER_SSLMODE– (необязательно) соответствует параметру подключения sslmode, который позволяет клиенту указать тип режима согласования TLS с сервером. Для получения дополнительной информации о том, как работает каждый режим, посетите документацию PostgreSQL. Режим по умолчанию -prefer.PATRONI_SUPERUSER_SSLKEY– (необязательно) соответствует параметру подключения sslkey, который указывает расположение секретного ключа, используемого с сертификатом клиента.PATRONI_SUPERUSER_SSLPASSWORD– (необязательно) соответствует параметру подключения sslpassword, который задает пароль для секретного ключа, указанного вPATRONI_SUPERUSER_SSLKEY.PATRONI_SUPERUSER_SSLCERT– (необязательно) соответствует параметру подключения sslcert, который указывает расположение клиентского сертификата.PATRONI_SUPERUSER_SSLROOTCERT– (необязательно) соответствует параметру подключения sslrootcert, который указывает расположение файла, содержащего один или несколько сертификатов удостоверяющих центров (УЦ), которые клиент будет использовать для проверки сертификата сервера.PATRONI_SUPERUSER_SSLCRL– (необязательно) соответствует параметру подключения sslcrl, который указывает расположение файла, содержащего список отозванных сертификатов. Клиент отклонит подключение к любому серверу, у которого есть сертификат, присутствующий в этом списке.PATRONI_SUPERUSER_SSLCRLDIR– (необязательно) соответствует параметру подключения sslcrldir, который указывает расположение каталога с файлами, содержащими список отозванных сертификатов. Клиент отклонит подключение к любому серверу, у которого есть сертификат, присутствующий в этом списке.PATRONI_SUPERUSER_GSSENCMODE– (необязательно) соответствует параметру подключения gssencmode, который определяет, будет ли осуществляться безопасное соединение GSS TCP/IP с сервером и с каким приоритетом.PATRONI_SUPERUSER_CHANNEL_BINDING– (необязательно) соответствует параметру подключения channel_binding, который контролирует использование клиентом привязки канала.PATRONI_REWIND_USERNAME– (необязательно) имя пользователя дляpg_rewind; пользователь будет создан во время инициализации postgres 11+ и все необходимые разрешения будут предоставлены.PATRONI_REWIND_PASSWORD– (необязательно) пароль для пользователя дляpg_rewind; пользователь будет создан во время инициализации.PATRONI_REWIND_SSLMODE– (необязательно) соответствует параметру соединения sslmode, который позволяет клиенту указать тип режима согласования TLS с сервером. Для получения дополнительной информации о том, как работает каждый режим, посетите документацию PostgreSQL. Режим по умолчанию -prefer.PATRONI_REWIND_SSLKEY– (необязательно) соответствует параметру соединения sslkey, который указывает расположение секретного ключа, используемого с сертификатом клиента.PATRONI_REWIND_SSLPASSWORD– (необязательно) соответствует параметру соединения sslpassword, который задает пароль для секретного ключа, указанного вPATRONI_REWIND_SSLKEY.PATRONI_REWIND_SSLCERT– (необязательно) соответствует параметру соединения sslcert, который указывает местоположение сертификата клиента.PATRONI_REWIND_SSLROOTCERT– (необязательно) соответствует параметру соединения sslrootcert, который указывает местоположение файла, содержащего один или несколько сертификатов удостоверяющих центров (УЦ), которые клиент будет использовать для проверки сертификата сервера.PATRONI_REWIND_SSLCRL– (необязательно) соответствует параметру соединения sslcrl, который указывает местоположение файла, содержащего список отозванных сертификатов. Клиент отклонит подключение к любому серверу, у которого есть сертификат, присутствующий в этом списке.PATRONI_REWIND_SSLCRLDIR– (необязательно) соответствует параметру соединения sslcrldir, который указывает местоположение каталога с файлами, содержащими список отозванных сертификатов. Клиент отклонит подключение к любому серверу, у которого есть сертификат, присутствующий в этом списке.PATRONI_REWIND_GSSENCMODE– (необязательно) соответствует параметру подключения gssencmode, который определяет, будет ли с сервером установлена безопасная связь по протоколу GSS TCP/IP и с каким приоритетом.PATRONI_REWIND_CHANNEL_BINDING– (необязательно) соответствует параметру подключения channel_binding, который контролирует использование клиентом привязки каналов.
REST API
PATRONI_RESTAPI_CONNECT_ADDRESS– IP-адрес и порт для доступа к REST API.PATRONI_RESTAPI_LISTEN– IP-адрес и порт, которые Patroni будет прослушивать для предоставления информации о состоянии здоровья для HAProxy.PATRONI_RESTAPI_USERNAME– имя пользователя базовой аутентификации для защиты небезопасных конечных точек REST API.PATRONI_RESTAPI_PASSWORD– пароль базовой аутентификации для защиты небезопасных конечных точек REST API.PATRONI_RESTAPI_CERTFILE– указывает файл с сертификатом в формате PEM. Если certfile не указан или оставлен пустым, сервер API будет работать без SSL.PATRONI_RESTAPI_KEYFILE– указывает файл с секретным ключом в формате PEM.PATRONI_RESTAPI_KEYFILE_PASSWORD– задает пароль для расшифровки файла ключа.PATRONI_RESTAPI_CAFILE– указывает файл с пакетом 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. КогдаnoneREST API не будет проверять клиентские сертификаты. Когдаrequiredклиентские сертификаты требуются для всех вызовов REST API. Когдаoptionalклиентские сертификаты необходимы для всех небезопасных конечных точек REST API. Когда используетсяrequired, то аутентификация клиента завершается успешно, если проверка подписи сертификата проходит успешно. Дляoptionalклиентский сертификат будет проверяться только для запросовPUT,POST,PATCHиDELETE.PATRONI_RESTAPI_ALLOWLIST– (необязательно): определяет набор хостов, которым разрешено вызывать небезопасные конечные точки REST API. Один элемент может быть именем хоста, IP-адресом или сетевым адресом, использующим нотацию CIDR. По умолчанию используетсяallow all. В случае, если установленыallowlistилиallowlist_include_members, все, что не включено, отклоняется.PATRONI_RESTAPI_ALLOWLIST_INCLUDE_MEMBERS– (необязательно): если установлено значениеtrue, это позволяет получать доступ к небезопасным конечным точкам REST API от других членов кластера, зарегистрированных в DCS (IP-адрес или имя хоста берется из участниковapi_url). Будьте осторожны, может случиться так, что ОС будет использовать другой IP-адрес для исходящих соединений.PATRONI_RESTAPI_HTTP_EXTRA_HEADERS– (необязательно) заголовки HTTP позволяют серверу REST API передавать дополнительную информацию вместе с ответом HTTP.PATRONI_RESTAPI_HTTPS_EXTRA_HEADERS– (необязательно) заголовки HTTPS позволяют серверу REST API передавать дополнительную информацию с ответом HTTP при включении TLS. Это также передаст дополнительную информацию, установленную вhttp_extra_headers.PATRONI_RESTAPI_REQUEST_QUEUE_SIZE– (необязательно): устанавливает размер очереди запросов для сокета TCP, используемого REST API Patroni. Как только очередь заполнится, дальнейшие запросы получат ошибку "Соединение отказано". Значение по умолчанию равно 5.
PATRONI_RESTAPI_CONNECT_ADDRESS должен быть доступен со всех узлов данного кластера Patroni. Внутренне Patroni использует его во время гонки лидеров для поиска узлов с минимальной задержкой репликации.
Если включили проверку подлинности клиентских сертификатов (PATRONI_RESTAPI_VERIFY_CLIENT установлен на required), необходимо предоставить действительные клиентские сертификаты в PATRONI_CTL_CERTFILE, PATRONI_CTL_KEYFILE, PATRONI_CTL_KEYFILE_PASSWORD. Если они не предоставлены, Patroni будет работать неправильно.
CTL
PATRONICTL_CONFIG_FILE– (необязательно) расположение файла конфигурации.PATRONI_CTL_USERNAME– (необязательно) имя пользователя базовой аутентификации для доступа к защищенным конечным точкам REST API. Если не предоставлено, patronictl будет использовать значение, предоставленное для параметра "имя пользователя" REST API.PATRONI_CTL_PASSWORD– (необязательно) пароль базовой аутентификации для доступа к защищенным конечным точкам REST API. Если не предоставлен, patronictl будет использовать значение, предоставленное для параметра "пароль" REST API.PATRONI_CTL_INSECURE– (необязательно) разрешить соединения с REST API без проверки сертификатов SSL.PATRONI_CTL_CACERT– (необязательно) указывает файл с файлом CA_BUNDLE или каталогом с сертификатами доверенных ЦС для использования при проверке сертификатов REST API SSL. Если не предоставлено patronictl будет использовать значение, предоставленное для параметра REST API "cafile".PATRONI_CTL_CERTFILE– (необязательно) указывает файл с клиентским сертификатом в формате PEM.PATRONI_CTL_KEYFILE– (необязательно) указывает файл с секретным ключом клиента в формате PEM.PATRONI_CTL_KEYFILE_PASSWORD– (необязательно) задает пароль для расшифровки файла ключа клиента.