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:
1 parent
0340b060f2
commit
fc5244cc67
14 files changed
+619
-338
No files matched your search
@@ -57,6 +57,23 @@ jq -e '
|
||||
((.environment // {}) | has("_PIP_ADDITIONAL_REQUIREMENTS") | not)
|
||||
)
|
||||
' >/dev/null <<<"$config_json"
|
||||
jq -e '
|
||||
.services as $services |
|
||||
["kafka-init", "clickhouse-init", "world-init", "world-snapshots"] |
|
||||
all(. as $name | $services | has($name) | not)
|
||||
' >/dev/null <<<"$config_json"
|
||||
jq -e '
|
||||
.services.generator as $generator |
|
||||
((($generator.depends_on // {}) | has("kafka-init")) | not) and
|
||||
((($generator.depends_on // {}) | has("clickhouse-init")) | not)
|
||||
' >/dev/null <<<"$config_json"
|
||||
jq -e '
|
||||
.services["airflow-scheduler"] as $service |
|
||||
($service.environment.CLICKHOUSE_LIFECYCLE_PASSWORD | length > 0) and
|
||||
any($service.volumes[]; .target == "/opt/airflow/world/generator" and .read_only) and
|
||||
any($service.volumes[]; .target == "/opt/airflow/world/data" and .read_only) and
|
||||
any($service.volumes[]; .target == "/opt/airflow/world/.dockerignore" and .read_only)
|
||||
' >/dev/null <<<"$config_json"
|
||||
jq -e '
|
||||
.services["airflow-init"] as $service |
|
||||
($service.environment.AIRFLOW__CORE__SIMPLE_AUTH_MANAGER_PASSWORDS_FILE ==
|
||||
|
||||
Reference in new issue
Block a user