ATE Documentation portal logo
Помощь
Обновлена 30 октября 2026 г. в 12:05

Переменные TCM

В этом разделе приведены переменные окружения для роли cluster_manager. Роль определяет настройки веб-интерфейса Tarantool Cluster Manager.

Управление правами доступа

Переменная

Описание

tcm_dir_mode

Права доступа на директории TCM. Тип: string. Значение по умолчанию: "{{ tarantool_dir_mode | default('0750') }}".

tcm_file_mode

Права доступа на файлы TCM. Тип: string. Значение по умолчанию: "{{ tarantool_file_mode | default('0644') }}".

Служебные настройки

Переменная

Описание

tcm_user

Пользователь ОС, от имени которого запускается TCM. Тип: string. Значение по умолчанию: tarantool.

tcm_group

Группа ОС, от имени которой запускается TCM. Тип: string. Значение по умолчанию: tarantool.

tcm_base_directory

Базовая директория установки TCM. Тип: string. Значение по умолчанию: /app/tarantool/cluster-manager.

tcm_dist_directory

Директория для распаковки дистрибутива TCM. Тип: string. Значение по умолчанию: "{{ tcm_base_directory }}/dist".

tcm_bin_directory

Директория с исполняемым файлом TCM. Тип: string. Значение по умолчанию: "{{ tcm_base_directory }}/bin".

tcm_binary_path

Путь к исполняемому файлу TCM. Тип: string. Значение по умолчанию: "{{ tcm_bin_directory }}/tcm".

tcm_package_path

Путь к архиву с пакетом установки TCM. Передаётся при запуске сценария установки. Тип: string. Значение по умолчанию: не задано.

tcm_log_directory

Директория для файлов журнала TCM. Тип: string. Значение по умолчанию: /app/logs/tarantool/cluster-manager.

tcm_config_directory

Директория конфигурации TCM. Тип: string. Значение по умолчанию: "{{ tcm_base_directory }}/conf.d".

tcm_config_name

Имя файла конфигурации TCM. Тип: string. Значение по умолчанию: tcm.yml.

tcm_config_path

Полный путь к файлу конфигурации TCM. Тип: string. Значение по умолчанию: "{{ tcm_config_directory }}/{{ tcm_config_name }}".

tcm_service_unit_name

Имя systemd-юнита TCM. Тип: string. Значение по умолчанию: "tarantool-cluster-manager@{{ inventory_hostname }}.service".

Общие параметры TCM

Переменная

Описание

tcm_mode

Режим работы TCM: production или development. Тип: string. Значение по умолчанию: production.

tcm_storage_provider

Провайдер собственного хранилища состояния TCM: etcd или tarantool (Tarantool-based Configuration Storage, TbCS). Тип: string. Значение по умолчанию: etcd.

tcm_default_cluster

Создавать ли Default cluster автоматически при первом старте TCM. Тип: bool. Значение по умолчанию: true.

tcm_migrations_duration

Максимальная длительность миграций хранилища TCM при обновлении схемы. Тип: string. Значение по умолчанию: 6m0s.

tcm_bootstrap_password

Начальный пароль администратора TCM, задаваемый при первом запуске. Если не задан, TCM генерирует пароль автоматически. Тип: string. Значение по умолчанию: не задано.

tcm_bootstrap_api_token

Начальный API-токен администратора TCM, задаваемый при первом запуске. Используется, в частности, плейбуком tcm_add_tbcs для обращения к API. Тип: string. Значение по умолчанию: не задано.

tcm_initial_clusters

Список управляемых кластеров, регистрируемых при первом запуске TCM (секция initial-settings.clusters). При использовании динамического инвентаря формируется генератором автоматически (см. раздел Конфигурация Tarantool Cluster Manager). Тип: list. Значение по умолчанию: [].

tcm_initial_roles

Список ролей, которые будут созданы при первом запуске TCM. Каждая роль может содержать: id (строка, опционально), name (строка, обязательно), description (строка, опционально), color (строка, опционально) — цвет роли, permissions (список строк с именами разрешений TCM, например admin.clusters.read, обязательно, не может быть пустым). Если id не указан, TCM сгенерирует его автоматически при создании роли. Доступно с TCM 1.9.0. Тип: list. Значение по умолчанию: [].

tcm_initial_users

Список пользователей, которые будут созданы при первом запуске TCM. Каждый пользователь может содержать: id (строка, опционально — если не указан, TCM сгенерирует его), fullname (строка, обязательно), description (строка, опционально), secret-type (строка, обязательно: password, ldap или token), secret-key (строка, обязательно для secret-type: password) — пароль, public-key (строка, обязательно для password и ldap, длина более 3 символов) — публичный ключ, secret-description (строка, опционально) — описание секрета, role-ids (список строк с идентификаторами ролей, опционально), clusters (список строк, опционально) — доступ к кластерам в формате <cluster-id>:<разрешения>[:<use-acl>[:<use-key-acl>]], где права — перечисленные через запятую права кластера (например, cluster.config.read, cluster.stateboard.read), а use-acl/use-key-acl — булевы признаки использования ACL и Key ACL. Для secret-type: token поля public-key/secret-key не задаются — токен выпускается при создании; дополнительно поддерживается active-until (дата истечения токена в формате YYYY-MM-DD). Вместо полей одного секрета можно задать список secrets с несколькими секретами; требуется хотя бы один секрет. Если role-ids не указаны, пользователь создается без дополнительных ролей. Если пользователь не проходит валидацию (например, не задан ни один секрет) или в clusters указан некорректный формат либо неизвестное разрешение, TCM не создаёт такого пользователя: ошибка пишется в лог TCM, обработка остальных пользователей продолжается, запуск TCM не прерывается. Доступно с TCM 1.9.0. Тип: list. Значение по умолчанию: [].

tcm_initial_acl

Список правил доступа (ACL) к spaces/functions, создаваемых при первом запуске TCM. Каждое правило может содержать: id (строка, опционально — если не указан, TCM сгенерирует его), user-id (строка, обязательно), cluster-id (строка, обязательно), type (строка, обязательно: space или func), name (строка, обязательно), read/write/execute (bool). Для type: space параметр execute должен быть false. user-id и cluster-id должны ссылаться на существующих пользователей/кластеры, иначе правило пропускается при бутстрапе. Доступно с TCM 1.10.0. Тип: list. Значение по умолчанию: [].

tcm_initial_key_acl

Список правил Key ACL (доступ к отдельным ключам конфигурации кластера), создаваемых при первом запуске TCM. Каждое правило может содержать: id (строка, опционально — если не указан, TCM сгенерирует его), user-id (строка, обязательно), cluster-id (строка, обязательно), key-name (строка, обязательно), read/write (bool). write: true требует read: true. user-id и cluster-id должны ссылаться на существующих пользователей/кластеры, иначе правило пропускается при бутстрапе. Доступно с TCM 1.11.0. Тип: list. Значение по умолчанию: [].

tcm_initial_ldap

Список LDAP-провайдеров, создаваемых при первом запуске TCM. Каждый элемент может содержать: id (строка, опционально — если не указан, TCM сгенерирует его), enabled (bool), endpoints (список строк, обязательно, не может быть пустым), query-user/query-password (строка), user-re (строка, обязательно — регулярное выражение имени пользователя), base-dn, template-dn, template-query, group-query-template (строка), request-timeout (int), add-user-if-not-exist (bool), groups (список групп: group-name, permissions — известные разрешения TCM, например admin.clusters.read, и опционально clusters — список записей cluster-id + permissions, где cluster-id обязателен, а разрешения берутся из cluster.*, например cluster.stateboard.read), tls (блок TLS, см. примечание ниже). Доступно с TCM 1.10.0. Тип: list. Значение по умолчанию: [].

TLS-блок LDAP-провайдера (tls) содержит: enabled (bool), cert-file, key-file, insecure-skip-verify (bool), use-start-tls (bool), server-name (строка). При enabled: true TCM требует читаемую пару клиентского сертификата и ключа (cert-file/key-file). Отдельного параметра для CA-файла нет: для проверки сертификата сервера используется системное хранилище доверенных CA, если insecure-skip-verify: false. Параметр use-start-tls: true включает StartTLS вместо непосредственного LDAPS-подключения, server-name задаёт имя сервера для проверки сертификата.

Журналирование

Параметры основного журнала TCM (секция log.default конфигурации TCM).

Переменная

Описание

tcm_log_level

Уровень журналирования: DEBUG, INFO, WARN, ERROR. Тип: string. Значение по умолчанию: INFO.

tcm_log_format

Формат записей журнала: struct (текстовый) или json. Тип: string. Значение по умолчанию: struct.

tcm_log_output

Тип вывода записей журнала: file — запись в файл, syslog — отправка на syslog-сервер, stdout/stderr — вывод в стандартные потоки. Тип: string. Значение по умолчанию: file.

tcm_log_max_size

Максимальный размер одного файла журнала до ротации. TCM интерпретирует значение в мегабайтах. Применяется при tcm_log_output: file. Тип: int. Значение по умолчанию: 1073741824.

tcm_log_max_age

Максимальный срок хранения файлов ротации в днях. Значение 0 — без ограничения. Применяется при tcm_log_output: file. Тип: int. Значение по умолчанию: 0.

tcm_log_max_backups

Максимальное число хранимых файлов ротации. Значение 0 — хранить все файлы. Применяется при tcm_log_output: file. Тип: int. Значение по умолчанию: 10.

tcm_log_compress

Сжимать (gzip) файлы журнала при ротации. Применяется при tcm_log_output: file. Тип: bool. Значение по умолчанию: true.

tcm_log_show_stack_trace

Добавлять стек вызовов в записи журнала. Тип: bool. Значение по умолчанию: false.

tcm_log_add_source

Добавлять в записи журнала источник (файл и строку кода). Тип: bool. Значение по умолчанию: false.

tcm_log_no_colorized

Отключить цветной вывод журнала в stdout/stderr. Тип: bool. Значение по умолчанию: false.

tcm_log_syslog_protocol

Протокол доставки (tcp или udp). Применяется при tcm_log_output: syslog. Тип: string. Значение по умолчанию: "tcp".

tcm_log_syslog_output

Адрес приёмника в формате host:port (например, 127.0.0.1:514). Применяется при tcm_log_output: syslog. Тип: string. Значение по умолчанию: "127.0.0.1:514".

tcm_log_syslog_facility

Подсистема syslog (user, daemon, local0 и т.д.). Применяется при tcm_log_output: syslog. Тип: string. Значение по умолчанию: "user".

tcm_log_syslog_priority

Зарезервировано. Передаётся в конфигурацию TCM (log.default.syslog.priority), но текущей реализацией TCM не используется: уровень сообщений определяется tcm_log_level. Тип: string. Значение по умолчанию: "".

tcm_log_syslog_tag

Зарезервировано. Передаётся в конфигурацию TCM (log.default.syslog.tag), но текущей реализацией TCM не используется. Тип: string. Значение по умолчанию: "".

tcm_log_syslog_timeout

Время ожидания при подключении к syslog-серверу. Применяется при tcm_log_output: syslog. Тип: string. Значение по умолчанию: "10s".

tcm_log_outputs

Дополнительные выводы журнала (секция log.outputs конфигурации TCM) в формате основного вывода: список объектов с полями output, level, format, file/syslog и т.д. Тип: list. Значение по умолчанию: [].

HTTP API и веб-интерфейс

Параметры HTTP-сервера TCM, который обслуживает веб-интерфейс и API (секция http конфигурации TCM).

Базовые параметры

Переменная

Описание

tcm_host

Адрес, на котором TCM принимает HTTP-подключения. Тип: string. Значение по умолчанию: 127.0.0.1.

tcm_port

Порт, на котором TCM принимает HTTP-подключения. Тип: int. Значение по умолчанию: 8080.

tcm_http_network

Тип сети для прослушивания: tcp, tcp6 или unix. Тип: string. Значение по умолчанию: tcp.

tcm_http_trace

Включить трассировку HTTP-запросов в журнале. Тип: bool. Значение по умолчанию: false.

tcm_http_request_size

Максимальный размер тела HTTP-запроса в байтах. Тип: int. Значение по умолчанию: 10485760 (10 МиБ).

tcm_http_read_timeout

Таймаут чтения HTTP-запроса целиком. Тип: string. Значение по умолчанию: 30s.

tcm_http_read_header_timeout

Таймаут чтения заголовков HTTP-запроса. Тип: string. Значение по умолчанию: 30s.

tcm_http_write_timeout

Таймаут записи HTTP-ответа. Тип: string. Значение по умолчанию: 30s.

tcm_http_idle_timeout

Таймаут keep-alive соединения в ожидании следующего запроса. Тип: string. Значение по умолчанию: 30s.

tcm_http_disable_general_options_handler

Отключить встроенный обработчик запросов OPTIONS. Тип: bool. Значение по умолчанию: false.

tcm_http_max_header_bytes

Максимальный размер заголовков запроса в байтах. Значение 0 — используется ограничение по умолчанию (1 МБ). Тип: int. Значение по умолчанию: 0.

tcm_http_api_timeout

Таймаут обработки API-запроса. Не действует на WebSocket-подключения. Тип: string. Значение по умолчанию: 10s.

tcm_http_api_update_interval

Период обновления данных, отдаваемых API. Тип: string. Значение по умолчанию: 5s.

tcm_http_frontend_dir

Путь к директории со статическими файлами веб-интерфейса. Пустое значение — используется встроенный веб-интерфейс TCM. Тип: string. Значение по умолчанию: "".

tcm_http_max_static_size

Максимальный размер раздаваемого статического файла в байтах. Тип: int. Значение по умолчанию: 104857600 (100 МиБ).

tcm_http_graphql_complexity

Максимальная допустимая сложность GraphQL-запроса. Тип: int. Значение по умолчанию: 100.

HTTPS (TLS) веб-интерфейса

Параметры TLS для HTTPS-подключений к веб-интерфейсу и API самого TCM (секция http.tls конфигурации TCM).

Переменная

Описание

tcm_http_tls_enabled

Включить HTTPS для веб-интерфейса и API TCM. Тип: bool. Значение по умолчанию: false.

tcm_http_tls_cert_file

Путь к серверному TLS-сертификату TCM. Обязателен при включённом HTTPS. Тип: string. Значение по умолчанию: "".

tcm_http_tls_key_file

Путь к приватному ключу серверного сертификата TCM. Обязателен при включённом HTTPS. Тип: string. Значение по умолчанию: "".

tcm_http_tls_min

Минимальная версия TLS: строка "1.0"—"1.3" (например, "1.2") или числовой код версии (например, 0x0303 для TLS 1.2). Пустая строка — значение по умолчанию библиотеки Go TLS. Тип: string. Значение по умолчанию: "1.2".

tcm_http_tls_max

Максимальная версия TLS. Формат аналогичен tcm_http_tls_min. Тип: string. Значение по умолчанию: "1.3".

tcm_http_tls_curve_preferences

Порядок предпочтения эллиптических кривых для TLS: список имён кривых Go (например, X25519, P256) или их числовых идентификаторов. Пустой список — значения по умолчанию библиотеки Go TLS. Тип: list. Значение по умолчанию: [].

tcm_http_tls_cipher_suites

Список разрешённых наборов шифров: имена констант Go TLS_* (например, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) или их числовые коды. Применимо только к TLS 1.2 и ниже; наборы шифров TLS 1.3 не настраиваются. Пустой список — значения по умолчанию библиотеки Go TLS. Тип: list. Значение по умолчанию: [].

WebSocket

Параметры WebSocket-подключений, которые веб-интерфейс использует для подписок API (секция http.websocket конфигурации TCM).

Переменная

Описание

tcm_http_websocket_read_buffer_size

Размер буфера чтения WebSocket-соединения в байтах. Тип: int. Значение по умолчанию: 16384.

tcm_http_websocket_write_buffer_size

Размер буфера записи WebSocket-соединения в байтах. Тип: int. Значение по умолчанию: 16384.

tcm_http_websocket_keepalive_ping_interval

Интервал отправки keep-alive ping по WebSocket-соединению. Тип: string. Значение по умолчанию: 20s.

tcm_http_websocket_handshake_timeout

Таймаут WebSocket-handshake. Тип: string. Значение по умолчанию: 10s.

tcm_http_websocket_init_timeout

Таймаут инициализации WebSocket-подключения (ожидание инициирующего сообщения клиента). Тип: string. Значение по умолчанию: 15s.

Cookie веб-сессии

Параметры cookie веб-сессии TCM (секция http.websession-cookie конфигурации TCM).

Переменная

Описание

tcm_http_websession_cookie_name

Имя cookie веб-сессии. Тип: string. Значение по умолчанию: tcm.

tcm_http_websession_cookie_path

Атрибут Path cookie. Пустое значение нарушает работу функции tt connect в веб-интерфейсе TCM. Тип: string. Значение по умолчанию: /.

tcm_http_websession_cookie_domain

Атрибут Domain cookie. Пустое значение — cookie действует для хоста, с которого был установлен. Тип: string. Значение по умолчанию: "".

tcm_http_websession_cookie_ttl

Время жизни веб-сессии. Тип: string. Значение по умолчанию: 2h0m0s.

tcm_http_websession_cookie_secure

Устанавливать атрибут Secure: браузер отправляет cookie только по HTTPS. Рекомендуется при включённом HTTPS. Тип: bool. Значение по умолчанию: false.

tcm_http_websession_cookie_http_only

Устанавливать атрибут HttpOnly: cookie недоступен из JavaScript. Тип: bool. Значение по умолчанию: true.

tcm_http_websession_cookie_same_site

Атрибут SameSite cookie: 1 — не задавать атрибут (браузер применяет поведение по умолчанию, обычно Lax), 2 — Lax, 3 — Strict, 4 — None. Значение 4 (None) допускает межсайтовую отправку cookie и требует tcm_http_websession_cookie_secure: true. Тип: int. Значение по умолчанию: 1.

tcm_http_websession_cookie_cleanup_period

Период очистки истёкших веб-сессий. Тип: string. Значение по умолчанию: 2m0s.

CORS

Параметры CORS для API TCM (секция http.cors конфигурации TCM). Требуются, если к API TCM обращаются из браузера с другого источника (origin).

Переменная

Описание

tcm_http_cors_enabled

Включить обработку CORS. Тип: bool. Значение по умолчанию: false.

tcm_http_cors_allowed_origins

Список разрешённых источников. Пустой список при включённом CORS разрешает запросы с любых источников. Тип: list. Значение по умолчанию: [].

tcm_http_cors_allowed_methods

Список разрешённых HTTP-методов. Пустой список разрешает GET, POST, HEAD. Тип: list. Значение по умолчанию: [].

tcm_http_cors_allowed_headers

Список разрешённых заголовков запроса. Пустой список разрешает Accept, Content-Type, X-Requested-With. Тип: list. Значение по умолчанию: [].

tcm_http_cors_exposed_headers

Список заголовков ответа, доступных браузеру. Тип: list. Значение по умолчанию: [].

tcm_http_cors_allow_credentials

Разрешить передачу учётных данных (cookie, заголовки авторизации) в CORS-запросах. Тип: bool. Значение по умолчанию: false.

tcm_http_cors_debug

Включить отладочный журнал обработчика CORS. Тип: bool. Значение по умолчанию: false.

Подключение TCM к etcd

TCM использует два независимых подключения к etcd, которые настраиваются разными группами переменных:

  1. TCM → собственный etcd — хранение состояния TCM (пользователи, роли, регистрации кластеров). Настраивается переменными tcm_etcd_* и tcm_etcd_tls_* (в динамическом инвентаре — ключами секции tcm:).

  2. TCM → etcd кластера (через initial_clusters) — чтение конфигурации управляемого кластера. Настраивается переменными tarantool_config_etcd_ssl_* (общие переменные Tarantool, также используются экземплярами и ролью etcd) и tcm_cluster_etcd_tls_* в секции constants: (см. Подключение TCM к etcd управляемого кластера).

Базовые параметры

Параметры собственного хранилища состояния TCM на etcd (секция storage.etcd конфигурации TCM, применяются при tcm_storage_provider: etcd).

Переменная

Описание

tcm_etcd_host

Адрес etcd по умолчанию. Используется при формировании tcm_config_etcd_endpoints, если тот не задан явно. Тип: string. Значение по умолчанию: "{{ tarantool_etcd_host | default('etcd') }}".

tcm_etcd_port

Порт etcd по умолчанию. Используется при формировании tcm_config_etcd_endpoints. Тип: string. Значение по умолчанию: "{{ tarantool_etcd_port | default('2379') }}".

tcm_etcd_schema

Схема подключения TCM к собственному etcd: http или https. Используется при формировании tcm_config_etcd_endpoints. Тип: string. Значение по умолчанию: "http".

tcm_config_etcd_endpoints

Список точек подключения к etcd, доступных с серверов TCM. Тип: list. Значение по умолчанию: "{{ tarantool_config_etcd_endpoints | default([tcm_etcd_schema + '://' + tcm_etcd_host + ':' + tcm_etcd_port]) }}".

tcm_etcd_prefix

Префикс ключей TCM в etcd. Тип: string. Значение по умолчанию: /tcm.

tcm_etcd_username

Имя пользователя для подключения TCM к собственному хранилищу (etcd, либо TbCS при tcm_storage_provider: tarantool). Тип: string. Значение по умолчанию: "".

tcm_etcd_password

Пароль для подключения TCM к собственному хранилищу. Тип: string. Значение по умолчанию: "".

tcm_etcd_password_file

Путь к файлу с паролем для подключения TCM к собственному хранилищу. При задании пароль читается из файла. Тип: string. Значение по умолчанию: "".

tcm_etcd_dial_timeout

Таймаут установки подключения к etcd. Тип: string. Значение по умолчанию: 250ms.

tcm_etcd_auto_sync_interval

Интервал автоматической синхронизации списка членов etcd-кластера. Значение 0s — синхронизация отключена. Тип: string. Значение по умолчанию: 0s.

tcm_etcd_dial_keep_alive_time

Интервал keep-alive ping для подключения к etcd. Тип: string. Значение по умолчанию: 1s.

tcm_etcd_dial_keep_alive_timeout

Таймаут ожидания ответа на keep-alive ping до разрыва подключения. Тип: string. Значение по умолчанию: 500ms.

tcm_etcd_bootstrap_timeout

Таймаут начальной загрузки (bootstrap) хранилища TCM. Тип: string. Значение по умолчанию: 30s.

tcm_etcd_max_call_send_msg_size

Максимальный размер клиентского запроса к etcd в байтах. Должен быть меньше серверного ограничения etcd. Тип: int. Значение по умолчанию: 1572864 (1,5 МиБ).

tcm_etcd_permit_without_stream

Разрешить отправку запросов к etcd без ожидания потока подключения (параметр permit-without-stream клиента etcd). Тип: bool. Значение по умолчанию: false.

tcm_storage_etcd_embed

Параметры встроенного etcd-сервера (секция storage.etcd.embed конфигурации TCM) в формате словаря: enabled, name, endpoints, advertises, peer-endpoints, peer-advertises, workdir, waldir, tls, peer-tls и другие поля встроенного etcd. Пустой словарь — встроенный etcd не используется. Тип: dict. Значение по умолчанию: {}.

TLS-подключение к etcd

Параметры TLS для подключения TCM к собственному etcd (секция storage.etcd.tls конфигурации TCM).

Переменная

Описание

tcm_etcd_tls_enabled

Включить TLS для подключения TCM к собственному etcd. Тип: bool. Значение по умолчанию: false.

tcm_etcd_tls_cert_file

Путь к клиентскому TLS-сертификату, который TCM предъявляет серверу etcd. Тип: string. Значение по умолчанию: "".

tcm_etcd_tls_key_file

Путь к приватному ключу клиентского сертификата. Тип: string. Значение по умолчанию: "".

tcm_etcd_tls_ca_file

Путь к доверенному CA-сертификату для проверки сертификата сервера etcd (ключ trusted-ca-file). Тип: string. Значение по умолчанию: "".

tcm_etcd_tls_skip_verify

Отключить проверку сертификата сервера etcd (ключ insecure-skip-verify). Небезопасно, используйте только для тестовых сред. Тип: bool. Значение по умолчанию: false.

tcm_etcd_tls_server_name

Имя сервера для проверки сертификата etcd (SNI). Тип: string. Значение по умолчанию: "".

tcm_etcd_tls_cipher_suites

Список разрешённых наборов шифров: имена констант Go TLS_* или их числовые коды. Применимо только к TLS 1.2 и ниже. Пустой список — значения по умолчанию библиотеки Go TLS. Тип: list. Значение по умолчанию: [].

tcm_etcd_tls_allowed_cn

Ограничение по Common Name сертификата (ключ allowed-cn). Тип: string. Значение по умолчанию: "".

tcm_etcd_tls_allowed_hostname

Ограничение по имени хоста в сертификате (ключ allowed-hostname). Тип: string. Значение по умолчанию: "".

tcm_etcd_tls_empty_cn

Разрешить сертификаты с пустым Common Name (ключ empty-cn). Тип: bool. Значение по умолчанию: false.

Как переменные TLS попадают в конфигурацию TCM

Пример инвентаря:

Из этого инвентаря роль сформирует секцию storage.etcd.tls в tcm.yml:

Если используется встроенный etcd, серверные TLS-ключи задаются в его собственных блоках через tcm_storage_etcd_embed:

В этом случае значение попадёт в storage.etcd.embed.tls и будет применено встроенным etcd-сервером.

Хранилище TCM на Tarantool

Если tcm_storage_provider: tarantool, состояние TCM хранится в Tarantool-based Configuration Storage (TbCS). Учётные данные подключения берутся из tcm_etcd_username / tcm_etcd_password (имя пользователя и пароль) и tcm_etcd_password_file (файл с паролем). TLS включается при tcm_tarantool_ssl_transport: ssl. Параметры соответствуют секции storage.tarantool конфигурации TCM.

Переменная

Описание

tcm_tarantool_ssl_transport

Транспорт подключения TCM к TbCS: tcp или ssl. Тип: string. Значение по умолчанию: tcp.

tcm_tarantool_ssl_cert_file

Путь к клиентскому TLS-сертификату. Тип: string. Значение по умолчанию: "".

tcm_tarantool_ssl_key_file

Путь к приватному ключу клиента. Тип: string. Значение по умолчанию: "".

tcm_tarantool_ssl_ca_file

Путь к CA-сертификату для проверки сервера. Тип: string. Значение по умолчанию: "".

tcm_tarantool_ssl_ciphers

Список наборов шифров OpenSSL для TLS-подключения. Тип: string. Значение по умолчанию: "".

tcm_tarantool_ssl_password

Пароль приватного ключа клиента. Тип: string. Значение по умолчанию: "".

tcm_tarantool_ssl_password_file

Путь к файлу с паролем приватного ключа клиента. Тип: string. Значение по умолчанию: "".

tcm_tarantool_addr

Устаревший одиночный адрес TbCS. Для обратной совместимости добавляется к списку адресов, если его там нет. Используйте tcm_config_etcd_endpoints. Тип: string. Значение по умолчанию: "".

tcm_tarantool_auth

Метод аутентификации Tarantool: числовой код из go-tarantool (0 — автоматический выбор). Тип: int. Значение по умолчанию: 0.

tcm_tarantool_timeout

Таймаут запросов к TbCS. Тип: string. Значение по умолчанию: 5s.

tcm_tarantool_reconnect

Интервал между попытками переподключения к TbCS. Тип: string. Значение по умолчанию: 5s.

tcm_tarantool_max_reconnects

Максимальное число попыток переподключения. Значение 0 — без ограничения. Тип: int. Значение по умолчанию: 0.

tcm_tarantool_rate_limit

Ограничение числа запросов к TbCS (запросов в секунду, параметр rate-limit пула соединений go-tarantool). Тип: int. Значение по умолчанию: 600.

tcm_tarantool_rate_limit_action

Действие при превышении rate-limit: числовой код из go-tarantool (0 — сбрасывать запрос). Тип: int. Значение по умолчанию: 0.

tcm_tarantool_concurrency

Параметр concurrency пула соединений go-tarantool. Значение 0 — значение по умолчанию библиотеки. Тип: int. Значение по умолчанию: 0.

tcm_tarantool_skip_schema

Не загружать схему Tarantool при подключении (параметр skip-schema). Тип: bool. Значение по умолчанию: true.

tcm_tarantool_required_protocol_info_auth

Требуемый метод аутентификации протокола Tarantool: числовой код (0 — не требуется). Тип: int. Значение по умолчанию: 0.

tcm_tarantool_required_protocol_info_version

Требуемая версия протокола Tarantool (0 — не требуется). Тип: int. Значение по умолчанию: 0.

tcm_tarantool_required_protocol_info_features

Список требуемых функций протокола Tarantool. Тип: list. Значение по умолчанию: [].

tcm_storage_tarantool_embed

Параметры встроенного хранилища TbCS (секция storage.tarantool.embed конфигурации TCM) в формате словаря. Пустой словарь — встроенное хранилище не используется. Тип: dict. Значение по умолчанию: {}.

Подключение TCM к etcd управляемого кластера

Эти переменные задаются в секции constants: динамического инвентаря и используются генератором для формирования блока storage-connection.etcd-connection.tls записей tcm_initial_clusters — подключения TCM к etcd управляемого кластера (не путать с собственным etcd TCM).

Переменная

Описание

tarantool_etcd_schema_definition

Схема подключения к etcd: http или https. При значении https генератор включает TLS-блок в etcd-connection управляемого кластера. Тип: string. Значение по умолчанию: http.

tarantool_config_etcd_ssl_cert_file

Путь к клиентскому TLS-сертификату для подключения к etcd кластера (ключ cert-file). Тип: string. Значение по умолчанию: "".

tarantool_config_etcd_ssl_key_file

Путь к приватному ключу клиентского сертификата (ключ key-file). Тип: string. Значение по умолчанию: "".

tarantool_config_etcd_ssl_ca_file

Путь к доверенному CA-сертификату для проверки сертификата сервера etcd (ключ trusted-ca-file). Тип: string. Значение по умолчанию: "".

tcm_cluster_etcd_tls_skip_verify

Отключить проверку сертификата сервера etcd управляемого кластера (ключ insecure-skip-verify). Небезопасно, используйте только для тестовых сред. Тип: bool. Значение по умолчанию: false.

Опрос управляемых кластеров

Параметры подключения и опроса управляемых кластеров (секция cluster конфигурации TCM).

Переменная

Описание

tcm_cluster_connection_rate_limit

Ограничение числа одновременных подключений к экземплярам управляемых кластеров. Тип: int. Значение по умолчанию: 512.

tcm_cluster_tarantool_timeout

Таймаут запросов к экземплярам Tarantool управляемого кластера. Тип: string. Значение по умолчанию: 10s.

tcm_cluster_tarantool_ping_timeout

Таймаут проверки доступности (ping) экземпляра Tarantool. Тип: string. Значение по умолчанию: 5s.

tcm_cluster_tt_command

Команда tt для выполнения на экземплярах управляемого кластера. Тип: string. Значение по умолчанию: tt.

tcm_cluster_refresh_state_period

Период обновления состояния управляемого кластера. Тип: string. Значение по умолчанию: 5s.

tcm_cluster_refresh_state_timeout

Таймаут обновления состояния управляемого кластера. Тип: string. Значение по умолчанию: 4s.

tcm_cluster_discovery_period

Период обнаружения топологии управляемого кластера. Тип: string. Значение по умолчанию: 4s.

tcm_cluster_sharding_index

Имя поля индекса шардирования, используемого при анализе кластера. Тип: string. Значение по умолчанию: bucket_id.

tcm_cluster_skew_time

Допустимое расхождение времени при оценке состояния кластера. Тип: string. Значение по умолчанию: 30s.

tcm_cluster_fragmentation_threshold

Порог фрагментации в процентах для отображения предупреждений. Тип: int. Значение по умолчанию: 40.

tcm_cluster_connectivity_check_timeout

Таймаут проверки связности экземпляров кластера. Тип: string. Значение по умолчанию: 3s.

tcm_cluster_backoff_initial_delay

Начальная задержка перед повторной попыткой подключения к кластеру. Тип: string. Значение по умолчанию: 1s.

tcm_cluster_backoff_max_delay

Максимальная задержка между повторными попытками подключения. Тип: string. Значение по умолчанию: 30s.

tcm_cluster_backoff_failure_threshold

Число неудачных попыток до применения backoff. Тип: int. Значение по умолчанию: 3.

tcm_cluster_connection_pool_check_timeout

Таймаут проверки пула подключений к кластеру. Тип: string. Значение по умолчанию: 3s.

tcm_cluster_watcher_retry_delay

Задержка между повторными попытками наблюдателя (watcher) за изменениями кластера. Тип: string. Значение по умолчанию: 1s.

tcm_cluster_stats_max_space_length

Максимальное число спейсов, по которым собирается статистика. Тип: int. Значение по умолчанию: 10000.

tcm_cluster_stats_timeout

Таймаут сбора статистики кластера. Тип: string. Значение по умолчанию: 1m.

Метаданные кластеров в TCM

Эти переменные задаются в секции constants: и используются при автоматической генерации tcm_initial_clusters.

Переменная

Описание

tcm_cluster_display_name

Отображаемое имя кластера в веб-интерфейсе TCM. Если не задано — используется cluster_name из инвентаря. Тип: string. Значение по умолчанию: cluster_name.

tcm_cluster_id

Идентификатор кластера в TCM (UUID). Если не задано — TCM генерирует его автоматически при создании кластера. Тип: string. Значение по умолчанию: не задано.

tcm_tarantool_connection_username

Имя пользователя, которым TCM подключается к инстансам управляемого кластера (поле tarantool-connection.username в tcm_initial_clusters). Пароль генератор берёт из tarantool_config_global.credentials.users[<username>].password этого же кластера; если выбранный пользователь или его пароль отсутствуют, подставляется пустая строка (генератор не создаёт пользователя и не проверяет аутентификацию; пустой пароль может быть намеренным, например для guest). Пустое значение переменной также приводит к client. Применяется к автоматически формируемым записям управляемых кластеров; для static-записи TbCS используются tcm_tbcs_static_config.username / password. Тип: string. Значение по умолчанию: client.

Ограничения

Ограничения на количество сущностей в TCM (секция limits конфигурации TCM).

Переменная

Описание

tcm_limits_user_count

Максимальное число пользователей TCM. Тип: int. Значение по умолчанию: 1000.

tcm_limits_clusters_count

Максимальное число управляемых кластеров. Тип: int. Значение по умолчанию: 10.

tcm_limits_roles_count

Максимальное число ролей. Тип: int. Значение по умолчанию: 100.

tcm_limits_webhooks_count

Максимальное число веб-хуков. Тип: int. Значение по умолчанию: 200.

tcm_limits_user_secrets_count

Максимальное число секретов одного пользователя. Тип: int. Значение по умолчанию: 10.

tcm_limits_user_websessions_count

Максимальное число одновременных веб-сессий одного пользователя. Тип: int. Значение по умолчанию: 10.

tcm_limits_linked_cluster_users

Максимальное число пользователей, привязанных к кластеру. Тип: int. Значение по умолчанию: 10.

Функциональные флаги

Флаги включения дополнительных функций TCM (секция feature конфигурации TCM).

Переменная

Описание

tcm_feature_ttgraph

Включить интеграцию с tt graph. Тип: bool. Значение по умолчанию: false.

tcm_feature_column_store

Включить поддержку Tarantool Column Store. Тип: bool. Значение по умолчанию: false.

tcm_feature_tqe

Включить поддержку Tarantool Queue Enterprise. Тип: bool. Значение по умолчанию: false.

tcm_feature_api_token

Включить API-токены. Тип: bool. Значение по умолчанию: false.

tcm_feature_tuples

Включить работу с кортежами. Тип: bool. Значение по умолчанию: false.

tcm_feature_tcf

Включить поддержку Tarantool Clusters Federation. Тип: bool. Значение по умолчанию: false.

Вместо отдельных переменных можно задать словарь tcm_features. В статическом инвентаре ключи словаря соответствуют именам опций конфигурации TCM (ttgraph, column-store, tqe, api-token, tuples, tcf) и объединяются со значениями tcm_feature_*. В динамическом инвентаре ключи словаря преобразуются в имена переменных: api_token → tcm_feature_api_token, column_store → tcm_feature_column_store и т.д.

Безопасность

Параметры безопасности TCM (секция security конфигурации TCM).

Переменная

Описание

tcm_security_auth

Список включённых методов аутентификации: local, ldap. Тип: list. Значение по умолчанию: [local].

tcm_security_hash_cost

Стоимость хеширования паролей (bcrypt cost). Тип: int. Значение по умолчанию: 12.

tcm_security_encryption_key

Ключ шифрования паролей, которые TCM использует для доступа к Tarantool/etcd-кластерам. Должен быть длиной 16, 24 или 32 байта. Тип: string. Значение по умолчанию: "".

tcm_security_encryption_key_file

Путь к файлу с ключом шифрования. Альтернатива tcm_security_encryption_key. Тип: string. Значение по умолчанию: "".

tcm_security_integrity_check

Включить проверку целостности конфигурации кластеров. Тип: bool. Значение по умолчанию: false.

tcm_security_require_bootstrap_password_change

Требовать смену пароля bootstrap-администратора при первом входе. Работает как с автогенерированным паролем, так и с паролем, заданным через tcm_bootstrap_password. Тип: bool. Значение по умолчанию: false. Доступно с версии TCM 1.10.0 и выше.

tcm_security_signature_private_key_file

Путь к приватному ключу подписи конфигурации кластеров. Тип: string. Значение по умолчанию: "".

Addons (устаревшие)

Секция addon конфигурации TCM устарела: в актуальных версиях TCM эти опции не действуют. Переменные сохранены для обратной совместимости.

Переменная

Описание

tcm_addon_enabled

Включить поддержку addons (не действует в актуальных версиях TCM). Тип: bool. Значение по умолчанию: false.

tcm_addon_dir

Директория с addons (не действует в актуальных версиях TCM). Тип: string. Значение по умолчанию: "".

tcm_addon_max_upload_size

Максимальный размер загружаемого addon в байтах (не действует в актуальных версиях TCM). Тип: int. Значение по умолчанию: 104857600.

tcm_addon_dev_dirs

Список директорий с addon для разработки (не действует в актуальных версиях TCM). Тип: list. Значение по умолчанию: [].

Аудит-логирование TCM (auditlog)

Переменные для настройки initial-settings.auditlog — аудит-логирования действий пользователей и security-событий в TCM.

Переменная

Описание

tcm_initial_settings_auditlog_enabled

Включает аудит-логирование. Если false — секция initial-settings.auditlog в конфиге не генерируется. Тип: bool. Значение по умолчанию: false.

tcm_initial_settings_auditlog_stdout

Дублировать события аудита в stdout. Тип: bool. Значение по умолчанию: false.

tcm_initial_settings_auditlog_protocol

Способ вывода событий аудита: file или syslog. Тип: string. Значение по умолчанию: "file".

tcm_initial_settings_auditlog_file_output

Путь к файлу аудит-лога (используется при protocol: file). По умолчанию указывает в ту же директорию, куда пишется основной лог TCM (tcm_log_directory), чтобы избежать ошибок доступа. Тип: string. Значение по умолчанию: "{{ tcm_log_directory }}/audit.log".

tcm_initial_settings_auditlog_file_max_size

Максимальный размер файла аудит-лога в МБ до ротации. Тип: int. Значение по умолчанию: 0.

tcm_initial_settings_auditlog_file_max_backups

Максимальное число хранимых бэкап-файлов аудит-лога. Тип: int. Значение по умолчанию: 0.

tcm_initial_settings_auditlog_file_max_age

Максимальный срок хранения бэкапов аудит-лога в днях. Тип: int. Значение по умолчанию: 0.

tcm_initial_settings_auditlog_file_compress

Сжимать (gzip) бэкапы аудит-лога при ротации. Тип: bool. Значение по умолчанию: false.

tcm_initial_settings_auditlog_syslog_protocol

Протокол доставки для protocol: syslog (udp или tcp). Тип: string. Значение по умолчанию: "udp".

tcm_initial_settings_auditlog_syslog_output

Адрес syslog-сервера в формате host:port (используется при protocol: syslog). Тип: string.

tcm_initial_settings_auditlog_syslog_priority

Severity-уровень для syslog-вывода аудит-событий. Тип: string.

tcm_initial_settings_auditlog_syslog_facility

Категория (facility) для syslog-вывода аудит-событий. Тип: string.

tcm_initial_settings_auditlog_syslog_timeout

Таймаут ответа syslog-сервера для аудит-лога. Тип: string. Значение по умолчанию: "2s".

tcm_initial_settings_auditlog_filters

Список типов событий для записи в аудит-лог (например, auth.fail, auth.ok, access.denied, user.add, role.update, cluster.config.save). Пустой список означает отсутствие фильтрации. Тип: list. Значение по умолчанию: [].

tcm_initial_settings_password_policy_enabled

Включает генерацию секции initial-settings.password-policy. Политика из этой секции применяется при первоначальной инициализации хранилища TCM (bootstrap). Если false, секция не генерируется: используется сохранённая политика, а при её отсутствии — встроенная. Изменение этого флага после завершения bootstrap не изменяет сохранённую политику. Тип: bool. Значение по умолчанию: false. Доступно с TCM 1.10.0.

tcm_initial_settings_password_policy_min_length

Минимальная длина пароля (0–32). Тип: int. Значение по умолчанию: 16.

tcm_initial_settings_password_policy_uppercase

Требовать заглавные буквы. Тип: bool. Значение по умолчанию: true.

tcm_initial_settings_password_policy_lowercase

Требовать строчные буквы. Тип: bool. Значение по умолчанию: true.

tcm_initial_settings_password_policy_digits

Требовать цифры. Тип: bool. Значение по умолчанию: true.

tcm_initial_settings_password_policy_special_chars

Требовать специальные символы. Тип: bool. Значение по умолчанию: true.

tcm_initial_settings_password_policy_history_length

Число запоминаемых предыдущих паролей (0–10). Тип: int. Значение по умолчанию: 4.

tcm_initial_settings_password_policy_lifetime_days

Срок действия пароля в днях (0–365). Тип: int. Значение по умолчанию: 90.

tcm_initial_settings_password_policy_warning_lifetime_days

Число дней после установки или смены пароля, по истечении которых TCM присваивает ещё не истёкшему паролю статус предупреждения. Порог отсчитывается от даты смены пароля. Значение 0 отключает предупреждение по этому порогу. Допустимый диапазон: 0–365. Тип: int. Значение по умолчанию: 30.

tcm_initial_settings_password_policy_max_incorrect_input

Максимальное число неверных попыток ввода пароля до блокировки (0–20). Тип: int. Значение по умолчанию: 4.

tcm_initial_settings_password_policy_blocking_time

Время блокировки пользователя после превышения лимита попыток, сек. Тип: int. Значение по умолчанию: 360.

Плейбук tcm_add_tbcs

Переменные плейбука tarantool.enterprise.tcm_add_tbcs, который добавляет кластер TbCS в уже запущенный TCM через API (см. сценарий добавления кластера TbCS в TCM).

Переменная

Описание

tcm_tbcs_state

Действие с кластером: present — добавить при отсутствии, update — обновить существующий static-кластер, absent — удалить. Тип: string. Значение по умолчанию: present.

tcm_tbcs_name

Имя кластера в TCM. Тип: string. Значение по умолчанию: TbCS.

tcm_tbcs_description

Описание кластера в TCM. Тип: string. Значение по умолчанию: "Tarantool-based Config Storage cluster (TbCS) added by ATE".

tcm_tbcs_color

Цвет кластера в веб-интерфейсе TCM. Тип: string. Значение по умолчанию: "".

tcm_tbcs_username

Имя пользователя для tarantool-connection добавляемого кластера. По умолчанию берётся из tcm_etcd_username при tcm_storage_provider: tarantool, иначе задайте явно. Тип: string.

tcm_tbcs_password

Пароль для tarantool-connection добавляемого кластера. По умолчанию берётся из tcm_etcd_password при tcm_storage_provider: tarantool, иначе задайте явно. Тип: string.

tcm_api_scheme

Схема обращения к API TCM: http или https. При включённом HTTPS веб-интерфейса (tcm_http_tls_enabled: true) установите https. Адрес и порт API плейбук берёт из tcm_host/tcm_port (при tcm_host: 0.0.0.0 используется 127.0.0.1), токен — из tcm_bootstrap_api_token. При https сертификат сервера TCM должен быть доверенным в среде выполнения плейбука и подходить для адреса обращения. Тип: string. Значение по умолчанию: http.

Была ли статья полезна?