diff --git a/compose.yaml b/compose.yaml index 60a07de..885699d 100644 --- a/compose.yaml +++ b/compose.yaml @@ -48,10 +48,10 @@ x-kafka-target: &kafka-target x-world-starting-days: &world-starting-days "8" +# Общие образы Airflow и Superset собирают службы инициализации. Причина +# отдельного build: ADR 0001. x-airflow-common: &airflow-common image: clickstream-airflow:local - build: - context: ./infra/airflow environment: AIRFLOW__CORE__EXECUTOR: LocalExecutor AIRFLOW__CORE__PARALLELISM: "4" @@ -105,8 +105,6 @@ x-generator-common: &generator-common x-superset-common: &superset-common image: clickstream-superset:local - build: - context: ./infra/superset environment: SUPERSET_CONFIG_PATH: /app/pythonpath/superset_config.py SUPERSET_SECRET_KEY: ${SUPERSET_SECRET_KEY:?Скопируйте .env.example в .env} @@ -257,6 +255,8 @@ services: airflow-init: <<: *airflow-common + build: + context: ./infra/airflow user: "0:0" restart: "no" depends_on: @@ -340,6 +340,8 @@ services: superset-init: <<: *superset-common + build: + context: ./infra/superset restart: "no" healthcheck: disable: true diff --git a/docs/adr/0001-stand-services.md b/docs/adr/0001-stand-services.md index 3a92b5c..9282dc0 100644 --- a/docs/adr/0001-stand-services.md +++ b/docs/adr/0001-stand-services.md @@ -16,6 +16,13 @@ возвращает единицу — поведение проверено при исполнении #37. Зависимость включает результат подготовки в общий граф ожидания. +У каждого общего локального образа один блок `build`. Он находится у службы +инициализации. Остальные службы зависят от неё и используют тот же `image`. +`docker compose up --build` завершает сборку до запуска контейнеров, поэтому +одного блока достаточно. В Buildx 0.30.1 одинаковые блоки у нескольких служб +запускают параллельный экспорт одного тега. Иногда сборка завершается ошибкой +`image already exists`. + Для входа выбран SimpleAuthManager. У него нет команды создания пользователя, поэтому `airflow-init` записывает пароль администратора из окружения в JSON-файл отдельного тома `airflow_auth`. Новый именованный том принадлежит