- в конфиг добавлены секция [auth.test_headers] и предохранитель [server] debug: заголовки входа подставляет слой транспорта, второго процесса локальный запуск больше не требует - подкоманда devtools proxy удалена целиком: всё, ради чего её поднимали, делает сам сервис - адресного предохранителя нет по решению владельца — цена названа в ADR и в модели угроз
54 lines
2.4 KiB
Go
54 lines
2.4 KiB
Go
// Command devtools — оснастка разработчика: то, что нужно для локального
|
|
// прогона и никогда не едет в боевой образ.
|
|
//
|
|
// Пакет один на все такие инструменты, а не по пакету на инструмент. Причина
|
|
// счётная: каждый отдельный пакет стоит четырёх мест — строка сборки образа,
|
|
// «Деплой» в устройстве, «Команды» в памятке, README, — и забытая строка сборки
|
|
// тихо кладёт инструмент разработчика в боевой образ. Один пакет платит эти
|
|
// четыре места **однажды**, сколько бы подкоманд в нём ни завелось.
|
|
//
|
|
// Подкоманда одна — `resume`, возврат остановленной записи в работу. Она встала
|
|
// на место панели владельца: панели у сервиса больше нет, а экраны правки
|
|
// записи приносят отдельные задачи. Подставной обратный прокси жил здесь второй
|
|
// подкомандой и убран 2026-08-23 задачей `config-test-headers-login`: заголовки
|
|
// входа локального прогона подставляет сам сервис по своим настройкам.
|
|
//
|
|
// Вывод идёт stdlib-логом в поток ошибок, а не `slog`: его читает человек в
|
|
// терминале, в сбор он не едет. Изъятие названо строкой в конвенции журнала.
|
|
//
|
|
// В образ пакет не едет: ступень сборки называет `./cmd/transcriber` поимённо.
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
log.SetFlags(0)
|
|
|
|
if len(os.Args) < 2 {
|
|
usage()
|
|
os.Exit(2)
|
|
}
|
|
|
|
switch os.Args[1] {
|
|
case "resume":
|
|
runResume(os.Args[2:])
|
|
default:
|
|
fmt.Fprintf(os.Stderr, "неизвестная подкоманда: %s\n\n", os.Args[1])
|
|
usage()
|
|
os.Exit(2)
|
|
}
|
|
}
|
|
|
|
func usage() {
|
|
fmt.Fprint(os.Stderr, `Оснастка разработчика.
|
|
|
|
Подкоманды:
|
|
resume вернуть остановленную запись в работу
|
|
|
|
`)
|
|
}
|