Перейти к основному содержимому

Параметры конфигурации среды

примечание

Эта страница переведена при помощи нейросети 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:port
  • PATRONI_CONSUL_PORT – (необязательно) порт Consul
  • PATRONI_CONSUL_SCHEME – (необязательно) http или https, по умолчанию http
  • PATRONI_CONSUL_TOKEN – (необязательно) токен ACL
  • PATRONI_CONSUL_VERIFY – (необязательно) проверять ли сертификат SSL для запросов HTTPS
  • PATRONI_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_URL
  • PATRONI_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 – (необязательно) значение метки пода при роли PostgreSQL standby_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_ADDRip: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_CLIENTnone (по умолчанию), optional или required. Когда none REST 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 – (необязательно) задает пароль для расшифровки файла ключа клиента.