Параметры конфигурации среды
Эта страница переведена при помощи нейросети 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
, по умолчаниюhttp
PATRONI_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_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
– (необязательно) значение метки пода при роли 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
. Когда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
– (необязательно) задает пароль для расшифровки файла ключа клиента.