docs(compose): объяснение общей сборки сокращено

- Зачем:
  - ADR и комментарии повторяли устройство Compose и говорили о сборке безлично.
- Что:
  - в Compose оставлен один указатель на причину решения.
  - ADR хранит правило общей сборки и объясняет гонку Buildx.
- Проверка:
  - make config-test.
  - git diff --check.
This commit is contained in:
Dmitry Dementiev committed 2026-08-28 13:03:47 +03:00
1 parent 1f203c974d
commit cd4f9c55f5
2 files changed
+7 -8

No files matched your search

+2 -3
View File
@@ -48,6 +48,8 @@ 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
environment:
@@ -253,8 +255,6 @@ services:
airflow-init:
<<: *airflow-common
# Общий образ собирает один владелец. Остальные службы зависят от init и
# не запускают параллельный экспорт того же тега через Buildx.
build:
context: ./infra/airflow
user: "0:0"
@@ -340,7 +340,6 @@ services:
superset-init:
<<: *superset-common
# Superset использует тот же образ после успешной подготовки.
build:
context: ./infra/superset
restart: "no"
+5 -5
View File
@@ -16,11 +16,11 @@
возвращает единицу — поведение проверено при исполнении #37. Зависимость
включает результат подготовки в общий граф ожидания.
Каждый общий локальный образ собирает одна служба: `airflow-init` владеет
сборкой образа Airflow, `superset-init` — образа Superset. Зависимые процессы
только используют готовый образ. `docker compose up --build` собирает образы
до запуска контейнеров; повторять `build` у каждого процесса не нужно, а
Buildx 0.30.1 при параллельном экспорте одного тега иногда отвечает
У каждого общего локального образа один блок `build`. Он находится у службы
инициализации. Остальные службы зависят от неё и используют тот же `image`.
`docker compose up --build` завершает сборку до запуска контейнеров, поэтому
одного блока достаточно. В Buildx 0.30.1 одинаковые блоки у нескольких служб
запускают параллельный экспорт одного тега. Иногда сборка завершается ошибкой
`image already exists`.
Для входа выбран SimpleAuthManager. У него нет команды создания пользователя,