docs(adr): доступ к сокету снят замером, а не оставлен вопросом

Зачем: доступ пользователя airflow к сокету докера был главным бытовым
риском пульта — с него началась бы работа над #79.

Что: замер записан в «Что проверено» — сокет root:docker с правами 660,
GID 127, пользователь образа uid 50000 с группой 0. Отсюда следствие в
плате: доступ открывается добавлением GID в контейнер, правка прав на
хосте не нужна, а сам GID — локальная настройка и живёт в .env.

Проверка: make config-test зелёный.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-13 12:27:42 +03:00
co-authored by Claude Opus 5
parent 2ee436f8c7
commit d3be7318c2
+8 -4
View File
@@ -89,8 +89,9 @@
пропущенный не найдётся никогда.
**Плата — сокет докера внутри Airflow.** Доступ к нему равен праву root на
машине, и пользователю `airflow` он открывается через GID группы `docker`,
который у каждой машины свой. Для локального учебного стенда размен принят —
машине, и пользователю `airflow` он открывается добавлением GID группы `docker`
в контейнер. GID у каждой машины свой, поэтому он — локальная настройка и живёт
в `.env` рядом с остальными такими, а не в описании стенда. Для локального учебного стенда размен принят —
тот же, что уже принят для пароля в trace-журнале пробника, — но плата
называется вслух и в README. Вторая плата мелкая: пока стенд живёт, из четырёх
слотов `parallelism` заняты два, ждущий выключатель и работающий контейнер.
@@ -149,9 +150,12 @@
`auto_remove` и `skip_on_exit_code`.
- Образ `apache/airflow:3.3.0` несёт Python 3.13.14 (замер запуском образа);
генератор требует `>=3.14,<3.15`.
- Сокет докера на машине стенда — `root:docker` с правами `660`, GID группы 127;
пользователь образа Airflow — `uid=50000(airflow) gid=0(root)`, в группе
`docker` его нет. Значит доступ открывается добавлением GID в контейнер, а
правка прав на хосте не нужна.
Осталось проверить при исполнении, и это работа тикета: пустит ли пользователь
`airflow` к сокету докера без правки прав на машине; какая версия провайдера
Осталось проверить при исполнении, и это работа тикета: какая версия провайдера
`apache-airflow-providers-docker` встаёт к 3.3.0; что имя сети стенда
(`${COMPOSE_PROJECT_NAME}_default`) достаётся дагу без ручной подстановки; что
триггер доходит и дочерний прогон виден из выключателя; что два запуска подряд