локальный вход задаётся конфигом: заголовки подставляет сам сервис

- в конфиг добавлены секция [auth.test_headers] и предохранитель [server] debug:
  заголовки входа подставляет слой транспорта, второго процесса локальный запуск
  больше не требует
- подкоманда devtools proxy удалена целиком: всё, ради чего её поднимали, делает
  сам сервис
- адресного предохранителя нет по решению владельца — цена названа в ADR и в
  модели угроз
This commit is contained in:
av
2026-08-23 13:12:47 +03:00
parent 75c6f0168a
commit 52fe31319a
35 changed files with 3548 additions and 144 deletions
+7 -5
View File
@@ -152,7 +152,6 @@ go vet ./...
gofmt -l .
golangci-lint run
go run ./cmd/transcriber -c config.toml # флаг -c или --config, по умолчанию config.toml
go run ./cmd/devtools proxy # подставной прокси: ставит заголовок входа локально
go run ./cmd/devtools resume -c config.toml <id> # вернуть остановленную запись в работу
task front # приложение: зависимости, Biome, юнит-тесты, сборка
task image # docker-образ; тег и раскладка — docs/architecture.md
@@ -277,10 +276,13 @@ Node на машину **не ставится**: шаг сборки прило
`config.example.toml`.
**На машине без прокси представиться нечем**: сервис узнаёт
пришедшего по заголовку, который на сервере ставит Caddy, а браузер заголовков
не ставит. На место контура встаёт подставной прокси —
`go run ./cmd/devtools proxy`: он слушает свой порт, ставит заголовок и
переправляет запрос сервису, а проверок не делает никаких. Приложение при этом
открывают **по адресу прокси**, а не по адресу сервиса. Ключей боевого
не ставит. Заголовок подставляет сам сервис — настройками, а не вторым
процессом: рецепт из трёх правок записан связным блоком в
`config.example.toml`, под перечнем доверенных адресов. Коротко: пара петлевых
адресов в перечень, `[server] debug = true`, раскомментированная секция
`[auth.test_headers]` с ключом `Remote-User`. Приложение при этом открывают по
адресу сервиса, второго порта нет. Заполненная имитация при выключенном
предохранителе роняет старт с именем ключа. Ключей боевого
провайдера на машине разработчика не нужно вовсе — их больше нет и в конфиге.
- **Yandex Cloud за деньги.** Распознавание и хранение в Object Storage
оплачиваются по факту. Прогон на реальных ключах ради проверки кода запрещён —