feat(world): жизненный цикл передан Airflow

- Зачем:
  - Compose должен поднимать инфраструктуру, а Airflow — владеть прикладным миром.
- Что:
  - добавлены даги создания и пересоздания мира с явными состояниями позиции;
  - цели make переведены на REST API Airflow, старые одноразовые службы удалены;
  - добавлена ограниченная учётная запись ClickHouse для прикладного DDL.
- Проверка:
  - `make lint`, `make config-test`, `bash -n scripts/run-dag.sh infra/airflow/init.sh`;
  - `make lint` и `make typecheck` в `generator/`;
  - холодный `make up`, повторный `make up`, `make rebuild-storage` и сценарий оборванной очистки;
  - `make smoke`, `make check-clickhouse`, `make check-services`.
This commit is contained in:
ddadmin committed 2026-08-21 23:01:11 +03:00
1 parent 0340b060f2
commit fc5244cc67
14 files changed
+619 -338

No files matched your search

+23
View File
@@ -25,6 +25,22 @@
<query>GRANT FILE ON *.*</query>
</grants>
</etl_writer>
<!-- Жизненный цикл мира: тот же канонический DDL, но с удалением баз. -->
<lifecycle_owner>
<grants>
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE, DROP DATABASE ON stg.*</query>
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE, DROP DATABASE ON ods.*</query>
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE, DROP DATABASE ON dds.*</query>
<query>GRANT SELECT, INSERT, ALTER, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, CREATE DATABASE, DROP DATABASE ON dm.*</query>
<query>GRANT SELECT, CREATE TABLE, CREATE DICTIONARY, dictGet, DROP TABLE, DROP DICTIONARY, CREATE DATABASE, DROP DATABASE ON dic.*</query>
<!-- clickhouse-connect читает эту таблицу при подключении. -->
<query>GRANT SELECT ON system.settings</query>
<query>GRANT CLUSTER ON *.*</query>
<query>GRANT REMOTE ON *.*</query>
<query>GRANT KAFKA ON *.*</query>
<query>GRANT FILE ON *.*</query>
</grants>
</lifecycle_owner>
<!-- Оба читателя: clickhouse-connect читает system.settings при подключении. -->
<bi_reader>
<grants>
@@ -75,6 +91,13 @@
<query>GRANT etl_writer</query>
</grants>
</etl>
<lifecycle>
<password from_env="CLICKHOUSE_LIFECYCLE_PASSWORD"/>
<quota>default</quota>
<grants>
<query>GRANT lifecycle_owner</query>
</grants>
</lifecycle>
<bi>
<password from_env="CLICKHOUSE_BI_PASSWORD"/>
<quota>default</quota>