fix(compose): устранена гонка сборки общих образов

- Зачем:
  - make up иногда падал, когда несколько служб параллельно экспортировали один тег образа.
- Что:
  - сборка образов Airflow и Superset закреплена за службами инициализации.
  - зависимые службы только используют готовый образ, решение описано в ADR 0001.
- Проверка:
  - make config-test.
  - docker compose --progress plain build superset superset-init airflow-scheduler airflow-init.
  - два запуска make up прошли экспорт трёх уникальных тегов без image already exists.
This commit is contained in:
Dmitry Dementiev committed 2026-08-28 12:53:33 +03:00
1 parent 5946175efa
commit 1f203c974d
2 files changed
+14 -4

No files matched your search

+7
View File
@@ -16,6 +16,13 @@
возвращает единицу — поведение проверено при исполнении #37. Зависимость
включает результат подготовки в общий граф ожидания.
Каждый общий локальный образ собирает одна служба: `airflow-init` владеет
сборкой образа Airflow, `superset-init` — образа Superset. Зависимые процессы
только используют готовый образ. `docker compose up --build` собирает образы
до запуска контейнеров; повторять `build` у каждого процесса не нужно, а
Buildx 0.30.1 при параллельном экспорте одного тега иногда отвечает
`image already exists`.
Для входа выбран SimpleAuthManager. У него нет команды создания пользователя,
поэтому `airflow-init` записывает пароль администратора из окружения в
JSON-файл отдельного тома `airflow_auth`. Новый именованный том принадлежит