| Версии в этом релизе | |
|---|
| Чарт | registry.trisigma.io/trisigma/charts/trisigma-configurator:0.4.0 |
| Образ | registry.trisigma.io/trisigma/images/trisigma-configurator:0.3.0 |
Сервис управления A/B-экспериментами.
Назначение
Configurator — центральный сервис платформы. Управляет жизненным циклом экспериментов: создание, настройка, расчёт результатов, визуализация.
Ключевые функции:
- Управление схемами и миграциями
- Отправка конфигураций экспериментов (маркеры, сегменты) в Splitter
- ETL-загрузки и аналитические запросы через Trino
- Генерация DAG-конфигов для Airflow
- API для Frontend и внешних интеграций
Деплой
Параметры инсталляции задаются в values-trisigma.yaml. Создайте файл из примера: cp values-trisigma.yaml.example values-trisigma.yaml.
values.yaml содержит значения по умолчанию — не изменяйте его напрямую, а переопределяйте нужные параметры в values-trisigma.yaml.
При первом развёртывании платформу необходимо запустить с дополнительными init-контейнерами для создания и заполнения схем в БД.
Подробнее — Первый запуск платформы.
Параметры приложения
Образ сервиса
| Параметр | Описание |
|---|
image.repository | Образ сервиса в Container registry |
image.tag | Тег образа сервиса в Container registry |
Не используйте registry.trisigma.io напрямуюОбразы необходимо предварительно зеркалировать в ваш собственный Container Registry.
Таймзона
| Параметр | Описание |
|---|
timezone | Таймзона. IANA tz, например Europe/Moscow |
Миграции
| Параметр | Описание |
|---|
postgresqlMigrator.image.repository | Образ мигратора для PostgreSQL миграций в Container registry |
PostgreSQL
| Параметр | Описание |
|---|
postgresql.host | Хостнейм для подключения к PostgreSQL |
postgresql.port | Порт для подключения к PostgreSQL |
postgresql.database | Название БД, к которой подключается сервис |
postgresql.user | Учетная запись для подключения к PostgreSQL |
Redis (Valkey)
| Параметр | Описание |
|---|
redis.host | Хостнейм Redis/Valkey |
redis.port | Порт для подключения к Redis/Valkey |
redis.login | Учетная запись для подключения к Redis/Valkey |
ClickHouse
| Параметр | Описание |
|---|
clickhouse.hosts | Список ClickHouse-хостов в формате host:port,host:port, например ch1.example.com:9440 |
clickhouse.user | Учетная запись для подключения к ClickHouse |
clickhouse.cluster | Название кластера Clickhouse из system.clusters |
Trino
| Параметр | Описание |
|---|
trino.host | Хостнейм для подключения к Trino |
trino.port | Порт для подключения к Trino |
S3 — бакет вложений
| Параметр | Описание |
|---|
s3Attachments.host | Endpoint S3 для подключения |
s3Attachments.bucket | Имя бакета для вложений (trisigma-configurator-attachments) |
S3 — бакет аналитических данных и загрузок
| Параметр | Описание |
|---|
s3AnalyticUploads.host | Endpoint S3 для подключения |
s3AnalyticUploads.bucket | Имя бакета для аналитики (trisigma-analytic-uploads) |
Git-репозиторий метрик
| Параметр | Описание |
|---|
repo.type | Тип репозитория: github / bitbucket / gitlab |
repo.host | URL репозитория1 |
repo.project | Проект/организация репозитория |
repo.name | Имя репозитория метрик |
repo.mainBranch | Имя основной ветки репозитория |
Bitbucket
| Параметр | Описание |
|---|
repo.bitbucket.httpUrl | HTTPS URL Bitbucket-сервера для git-клона, например https://bitbucket.example.com |
Межсервисные связи
| Параметр | Описание |
|---|
splitter.url | In-cluster URL Splitter, например http://trisigma-splitter.trisigma-splitter:8890 |
airflow.apiUrl | URL Airflow API, оканчивается на /api/v1, например https://<airflow-url>/api/v1 |
airflow.configUploadUrl | URL загрузки DAG-конфигов, например https://<airflow-url>/uploadDagConfig |
frontend.url | Browser-facing URL Frontend, например https://trisigma.example.com |
Auth (OIDC)
Configurator аутентифицирует пользователей через OpenID Connect (Authorization Code flow).
| Параметр | Описание |
|---|
auth.enabled | Включение OIDC аутентификации |
auth.clientId | OAuth client ID, зарегистрированный в вашем IDP |
auth.configUrl | OIDC discovery URL |
auth.openidScopes | Запрашиваемые OIDC scopes. |
Honest uniques
| Параметр | Описание |
|---|
honestUniq.enabled | Включение расчета честных uniq метрик |
honestUniq.maxWindow | Максимальное окно расчёта в днях |
honestUniq.metrics | Метрики через запятую, к которым применяется расчёт. Без заполнения применяется ко всем метрикам |
Switchback
Эксперименты с чередованием групп по геохронам — паре «кластер × временное окно». См. Switchback-эксперименты.
| Параметр | Описание |
|---|
switchback.enabled | Включение функционала switchback-экспериментов |
switchback.leadTime | Насколько заранее вычисляются назначения групп |
switchback.persistenceTtl | Сколько назначения хранятся после завершения окна |
Лимиты
Конфигурация эксперимента
| Параметр | Описание |
|---|
experiments.limitPerUser | Максимум одновременно активных экспериментов на одного создателя |
experiments.tagMaxCount | Максимум тегов у одного эксперимента |
experiments.offsetsMaxCount | Максимум дневных сдвигов (offsets) в настройке агрегации метрик |
experiments.windowsMaxCount | Максимум накопительных окон агрегации сверх дефолтных |
Пресеты метрик
Пресет — сохранённый набор метрик с разрезами. Размеры считаются в парах «метрика × разрез».
| Параметр | Описание |
|---|
experiments.presetCountLimit | Максимум пресетов в конфигурации эксперимента |
experiments.presetMetricSetLimit | Максимальный размер одного набора метрик в пресете |
experiments.presetTotalLimit | Максимальный суммарный размер по всем пресетам эксперимента |
Пересчёты
| Параметр | Описание |
|---|
recalcs.experimentMaxRunDaysLimit | Максимальная длительно сть эксперимента в днях, допустимого к пересчёту |
recalcs.fullRecalcExperimentsCountLimit | Максимум экспериментов в одном полном пересчёте |
recalcs.presetsCountLimit | Максимум пресетов в одном пересчёте пресетов |
recalcs.totalExperimentsInRecalcsLimit | Максимум экспериментов одновременно в активных пересчётах пользователя |
Списки участников и загрузки
| Параметр | Описание |
|---|
abListsMaxSize | Максимум элементов в списке участников при импорте из CSV или Trino |
fileUploadMaxSizeBytes | Максимальный размер загружаемого файла в байтах |
Фоновые задачи (Crons)
| Параметр | Описание |
|---|
crons.image.repository | Образ планировщика фоновых задач в Container registry |
Для большинства кронов в сервисе выставлены рекомендуемые значения по умолчанию.
Ниже описаны кроны, для которых вам может быть необходимо переопределить расписания в зависимости от особенностей вашего окружения.
airflow_daily
Запускает в Airflow ежедневный расчёт аналитического отчёта за прошедшие сутки. Должен стартовать не раньше обновления метрик в источниках DWH, указанных в репозитории метрик; по умолчанию — в 02:00.
Воркеры
Долгоживущие процессы, отдельные от основного API:
| Воркер | Назначение |
|---|
retro-starter | Запуск ретро экспериментов |
event-worker-pool | Обработка событий EventBus |
CA-сертификаты
| Параметр | Описание |
|---|
extraCABundles[].caBundle | CA-сертификат в PEM-формате |
extraCABundles[].configMap | Ссылка на существующий ConfigMap с CA-сертификатом |
Секреты приложения
Секреты в приложение можно передать двумя способами:
задать значения напрямую в secrets-values.yaml —
или указать имя существующего Kubernetes Secret в поле existingSecret в чарте
(например, созданного через Vault или External Secrets Operator).
Создайте файл из примера: cp secrets-values.yaml.example secrets-values.yaml.
PostgreSQL
| Секрет | Ключ | Описание |
|---|
PGPASSWORD | postgresql.password | Пароль PostgreSQL |
Redis (Valkey)