docs(architecture): операторские разделы README переехали в справочники #213

Merged
ddmitry merged 2 commits from 212-operator-sections-move into main 2026-09-01 23:27:07 +03:00
4 changed files with 22 additions and 17 deletions
Showing only changes of commit 7a3542d933 - Show all commits

No files matched your search

+1 -1
View File
@@ -95,7 +95,7 @@ Airflow его явную пересборку: удалит прикладны
## Как позвать генератор
Режимы и команды запуска генератора описаны в
[справочнике мира](docs/architecture/world.md#как-позвать-генератор).
[справочнике мира](docs/architecture/world.md#как-запустить-генератор).
### Пульт мира
+5 -1
View File
@@ -91,8 +91,11 @@ ClickHouse:
создавал отдельный путь каждого шарда без вписанных вручную значений. Для
образа зафиксирован точный текущий
[LTS-выпуск 26.3.17.56](https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.17.56-lts);
серверы и keeper используют один образ. Настройки Kafka 4.3.1 сверены с
серверы и keeper используют один образ.
Настройки Kafka 4.3.1 сверены с
[примером односерверного KRaft](https://github.com/apache/kafka/blob/4.3.1/docker/examples/docker-compose-files/single-node/plaintext/docker-compose.yml).
Секция метрик взята из конфигурации закреплённого образа ClickHouse и проверена
на серверах и keeper. Подготовка источников Grafana сверена с
[официальным описанием автоматической настройки](https://grafana.com/docs/grafana/latest/administration/provisioning/)
@@ -116,6 +119,7 @@ Airflow закреплён на 3.3.0. Состав обязательных п
`clickhouse-connect`. Официальный провайдер Kafka сам использует
`confluent-kafka`; отдельное подключение и его обёртки здесь не нужны, поэтому
клиент Kafka добавлен в образ напрямую.
Superset закреплён на 6.1.0; драйвер `clickhouse-connect`, форма
`clickhousedb://` и драйвер Postgres сверены с
[документацией подключений Superset](https://superset.apache.org/user-docs/6.1.0/databases/)
+13 -12
View File
@@ -50,7 +50,7 @@ uv run --project generator python -m clickstream_generator batch \
sha256sum tmp/day0.jsonl
```
## Как позвать генератор
## Как запустить генератор
События производит генератор из [`generator/`](../../generator/). Модельный день —
функция зерна и номера дня, поэтому один и тот же день всегда даёт те же
@@ -112,11 +112,12 @@ uv run --project generator python -m clickstream_generator batch \
флагами, принимается и переменными окружения — так генератор позовёт даг
этапа 5; полный список у `--help`.
**Умолчания есть не у всего, и это нарочно.** Зерно, число дней и темп живого
дня описывают модель мира — их генератор знает сам. День на оси, приёмник и имя
топика описывают стенд, на котором его запустили: не назвали — отказ и ненулевой
код возврата, ещё до первого события. Поэтому умолчание дня и живёт в
`Makefile`: день называет тот, кто запускает, а не тот, кого запускают.
**Значения по умолчанию есть не у всех параметров, и это сделано специально.**
Зерно, число дней и темп живого дня описывают модель мира — их генератор знает
сам. День на оси, приемник и имя топика описывают стенд, на котором генератор
запустили: если их не задать, он откажется работать и вернет ненулевой код еще
до первого события. Поэтому значение дня по умолчанию живет в `Makefile`: день
задает тот, кто запускает, а не тот, кого запускают.
## Пульт мира
@@ -153,9 +154,9 @@ uv run --project generator python -m clickstream_generator batch \
встанет на границе модельных суток, доиграв начатый день. Форма пульта и доводы
целиком — [ADR 0009](../adr/0009-world-control.md).
**Плата названа вслух: планировщику Airflow отдан сокет докера** — иначе
контейнер генератора ему не поднять. Доступ к сокету равен праву root на
машине; для локального учебного стенда размен принят, но знать о нём надо.
Открывает дверь не монтирование, а членство в группе: GID группы `docker` у
каждой машины свой, живёт в `.env` и подсматривается командой
`getent group docker`.
**У этого решения есть цена: планировщику Airflow отдан сокет Docker** —
иначе ему не поднять контейнер генератора. Доступ к сокету равен правам root
на машине; для локального учебного стенда это приемлемо, но знать об этом
нужно. Доступ дает не само монтирование сокета, а членство в группе `docker`:
у нее на каждой машине свой GID, он записан в `.env`, а узнать его можно
командой `getent group docker`.
+3 -3
View File
@@ -77,9 +77,9 @@
## Команды
Проиграть день — раздел [«Как позвать
генератор»](../docs/architecture/world.md#как-позвать-генератор) справочника
мира и `--help`.
Проиграть день — раздел [«Как запустить
генератор»](../docs/architecture/world.md#как-запустить-генератор)
справочника мира и `--help`.
Из этого каталога — цели генератора живут здесь, а не в корне: