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

- в конфиг добавлены секция [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
+5 -1
View File
@@ -254,6 +254,10 @@ type envOptions struct {
metaviewer contract.AudioMetaViewer
dist fs.FS
built bool
// substitution — имитация заголовков входа отладочного запуска. Пустая
// значит «предохранитель выключен»: слой подстановки в цепочку не встаёт,
// и поверхность собирается ровно та же, что в бою.
substitution map[string]string
}
func setupTestEnv(t *testing.T, metaviewer contract.AudioMetaViewer) *testEnv {
@@ -306,7 +310,7 @@ func setupEnv(t *testing.T, opts envOptions) *testEnv {
handler := NewAppHandler(recordRepo, textRepo, structureRepo, fileRepo, trsService, logger)
mounts := ServiceMounts(
AppChain(handler.Routes(), users, testTrustedNetworks(t), logger),
AppChain(handler.Routes(), users, testTrustedNetworks(t), opts.substitution, logger),
http.NotFoundHandler(),
)
webapp := NewWebappHandler(opts.dist, opts.built, logger)