Files
transcriber/tasks/items/drop-dead-entrypoint-script.md
T

46 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🧹 Снять мёртвый docker/entrypoint.sh вместе с его следами в образе
- **Тип:** chore
- **Категория:** Очередь
- **Зачем:** Скрипт копируется в образ, линтуется шагом гейта и переназначает uid/gid из окружения, но не выполняется ни разу: ENTRYPOINT закомментирован без записанной причины, а переназначение спорит с решением от 2026-08-22 о числовом USER 1000:1000
- **Теги:** review-2026-08-23
`Dockerfile` копирует `docker/entrypoint.sh` в образ и делает его исполняемым, а
строку `ENTRYPOINT` держит закомментированной — работу делает `CMD`. Скрипт
поэтому не выполняется ни разу, но платится за него трижды: слоем образа, шагом
`shell` гейта, который линтует его поимённо, и строкой `ENV USER=transcriber`,
заведённой ради него.
Сам скрипт — перенос из чужого проекта: в его сообщении об ошибке названа Gitea.
Он переназначает uid и gid из переменных `USER`, `USER_UID`, `USER_GID`,
а этого проект уже не делает: решением от 2026-08-22 пользователь в образе
назван числом, `USER 1000:1000`, и причина записана строками рядом.
Нашёл прогон ревью `drop-dead-dotenv-loader` 2026-08-23, урожаем.
## Затрагивает
- `docker/entrypoint.sh` — сам файл;
- `Dockerfile``COPY docker/entrypoint.sh`, `RUN chmod 755`, закомментированная
строка `ENTRYPOINT` и `ENV USER=transcriber`;
- `Taskfile.yml`, шаг `shell` — скрипт назван в аргументах `shellcheck` поимённо.
## Критерии приёмки
- Скрипта нет ни в дереве, ни в образе. **Оракул:**
`grep -rn "entrypoint" Dockerfile Taskfile.yml` → пусто, файла
`docker/entrypoint.sh` нет.
- Шаг `shell` гейта зелёный и не ссылается на пропавший файл. **Оракул:**
`task shell` → код 0; сегодня та же команда линтует два скрипта, после правки —
один.
- Образ собирается и поднимается. **Оракул:** `task image` собирается, а
поднятый контейнер отвечает на `/metrics` и пишет файлы в смонтированный
каталог от владельца `1000:1000`.
## Рамки
Числового `USER 1000:1000` не касаться: он поставлен решением владельца
2026-08-22 и закрывает `DL3066`. Возврат `ENTRYPOINT` в строй — не эта задача:
если выяснится, что переназначение uid и gid из окружения всё-таки нужно, это
отдельное решение с ценой, и принимают его разведкой, а не чисткой.