46 lines
3.3 KiB
Markdown
46 lines
3.3 KiB
Markdown
# 🧹 Снять мёртвый 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 из окружения всё-таки нужно, это
|
||
отдельное решение с ценой, и принимают его разведкой, а не чисткой.
|