Splitter
Назначение
Splitter — сервис, назначающий эксперименты пользователям и разбивающий их на группы. Получает конфигурации экспериментов от Configurator и записывает события распределения в ClickHouse.
Схемы данных
Схемы и таблицы в PostgreSQL создаются автоматически при деп лое Splitter. Дополнительная настройка не требуется.
Справочно — основные таблицы:
| Таблица | Назначение |
|---|---|
markers | Конфигурации экспериментов, получаемые от Configurator |
segments | Списки пользователей для таргетирования экспериментов |
marks, user_overrides | Ручные назначения групп пользователям в конкретных экспериментах |
global_exclusion | Исключение пользователей из всех экспериментов |
Деплой
Для установки необходимо заполнить файл с параметрами values-trisigma.yaml
values.yaml содержит значения по умолчанию — не изменяйте его напрямую, а переопределяйте нужные параметры в отдельных файлах.
Параметры приложения
Хранятся в values-trisigma.yaml. Создайте файл из примера: cp values-trisigma.yaml.example values-trisigma.yaml.
Образ сервиса
| Параметр | Описание |
|---|---|
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 |
ClickHouse
| Параметр | Описание |
|---|---|
clickhouse.host | Для записи expose-событий (таблица ab_clickstream) |
clickhouse.port | Порт для подключения к ClickHouse БД сервиса (native-протокол) |
clickhouse.user | Учетная запись для подключения к ClickHouse |
clickhouse.tls.enabled | Использовать TLS при подключении к ClickHouse |
Фоновые задачи (Crons)
| Параметр | Описание |
|---|---|
crons.image.repository | Образ планировщика фоновых задач в Container registry |
| Крон | Описание |
|---|---|
overrides_watcher | Чистит устаревшие и истёкшие ручные назначения групп пользователям |
configs_watcher | Удаляет устаревшие конфигурации экспериментов и сегментов пользователей |
Секреты приложения
Секреты в приложение можно передать двумя способами:
задать значения напрямую в secrets-values.yaml —
или указать имя существующего Kubernetes Secret в поле existingSecret в чарте
(например, созданного через Vault или External Secrets Operator).
Создайте файл из примера: cp secrets-values.yaml.example secrets-values.yaml.
PostgreSQL
| Секрет | Ключ | Описание |
|---|---|---|
PGPASSWORD | postgresql.password | Пароль для подключения к PostgreSQL |
ClickHouse
| Секрет | Ключ | Описание |
|---|---|---|
CLICKHOUSE_PASSWORD | clickhouse.password | Пароль для подключения к ClickHouse |
Межсервисная авторизация
| Секрет | Ключ | Описание |
|---|---|---|
CONFIGURATION_TOKEN | interServiceAuth.configurationToken | Токен для авторизации запросов от Configurator1 |
Публичный API
| Секрет | Ключ | Описание |
|---|---|---|
USER_TOKEN | publicApi.userToken | Токен для авторизации запросов для публичных эндпоинтов2. Без заполнения эндпоинты доступны без авторизации |
ROTATABLE_USER_TOKEN | publicApi.rotatableUserToken | Опциональный. Второй слот для бесшовной ротации USER_TOKEN |
- Задайте новый токен как
ROTATABLE_USER_TOKEN - Обновите клиентов на новый токен
- Перенесите его в
USER_TOKENи очиститеROTATABLE_USER_TOKEN
Лицензия
| Секрет | Ключ | Описание |
|---|---|---|
LICENSE_KEY | license.licenseKey | Лицензионный ключ Trisigma Enterprise |