закрыта задача trusted-header-login

- две записи, ссылавшиеся на убранный oidc-login, переписаны
- dev-run-task переведена с отдельного cmd/devadmin на подкоманду cmd/devtools
This commit is contained in:
av
2026-08-22 20:25:13 +03:00
parent 7f33c957e5
commit a8fb4793be
5 changed files with 15 additions and 83 deletions
+13 -8
View File
@@ -8,7 +8,8 @@
временный каталог, заводит владельца панели и гасит процесс по Ctrl+C.
Работа состоит из двух частей, и они едут одним коммитом: инструмент
`cmd/devadmin` и шаг `dev`, который его зовёт. Порознь они не нужны — шаг без
подкоманда `cmd/devtools admin` и шаг `dev`, который её зовёт. Порознь они не
нужны — шаг без
инструмента не заведёт владельца панели, инструмент без шага останется вызовом,
который никто не делает.
@@ -24,23 +25,27 @@
каталог со своим `data_dir`, чтобы прогон начинался с пустой базы независимо от
того, что написано в конфиге. Временное живёт в `/tmp` — в `data/` писать
запрещено (CLAUDE.md, «Запреты»);
- владельца панели заводит `cmd/devadmin` — отдельный main-пакет рядом с
`cmd/transcriber`, в образ он не едет. Базу открывает тем же `pbrepo.New`, что и
сервис, и потому получает её со схемой целиком; зовётся до подъёма сервиса, на
пустом каталоге. Пароль существующего владельца не переписывает;
- владельца панели заводит подкоманда `cmd/devtools admin`. Пакет оснастки уже
заведён задачей `trusted-header-login` и в образ не едет; своего пакета
заводить не надо — решение владельца 2026-08-22: инструмент оснастки стоит
четырёх мест, и платить их надо однажды. Базу подкоманда открывает тем же
`pbrepo.New`, что и сервис, и потому получает её со схемой целиком; зовётся до
подъёма сервиса, на пустом каталоге. Пароль существующего владельца не
переписывает;
- обычная учётная запись заводится первым запросом с заголовком: имя берётся из
`USER`, и заводить её отдельно шагу не нужно;
- `trap` на `INT` и `TERM` гасит процесс, `wait` держит терминал.
## Затрагивает
- `cmd/devadmin` — новый main-пакет: заводит владельца панели в базе;
- `cmd/devtools` — подкоманда `admin` рядом с готовой `proxy`: заводит
владельца панели в базе;
- `Taskfile.yml` — шаг `dev` с переменными `CONFIG` и `USER`;
- скрипт запуска в `scripts/` — он попадает под шаг `shell` гейта;
- `CLAUDE.md`, раздел «Команды»;
- `README.md`, раздел про локальный запуск;
- `Dockerfile` — строка сборки называет точку входа поимённо, и новый пакет в
образ попасть не должен.
- `Dockerfile` — строка сборки называет точку входа поимённо; новых пакетов не
прибавляется, и правки ей не нужно.
## Критерии приёмки