точки входа переехали в cmd/, заведена заглушка OIDC для локального входа

- main.go и journal_route_test.go переехали в cmd/transcriber без правок
  содержимого; образ собирает ./cmd/transcriber поимённо
- cmd/oidcstub отвечает на /authorize, /token и /userinfo, проверок не делает
  и слушает петлевой адрес: войти без Authelia стало чем
- ступень сборки приложения переехала на node:24 с alpine — musl ждёт ответа
  на AAAA, которого нет, и npm ci висел вместо отказа
This commit is contained in:
av
2026-08-15 20:15:57 +03:00
parent 63a13404df
commit 91138dd39a
19 changed files with 335 additions and 25 deletions
+8 -1
View File
@@ -119,7 +119,8 @@ go test ./... # в гейте идёт с -race, и там нуже
go vet ./...
gofmt -l .
golangci-lint run
go run . -c config.toml # флаг -c или --config, по умолчанию config.toml
go run ./cmd/transcriber -c config.toml # флаг -c или --config, по умолчанию config.toml
go run ./cmd/oidcstub # подставной провайдер OIDC для локального входа
task front # приложение: зависимости, Biome, юнит-тесты, сборка
task image # docker-образ; тег и раскладка — docs/architecture.md
task gate # весь набор проверок разом
@@ -234,6 +235,12 @@ Node на машину **не ставится**: шаг сборки прило
ссылки. Расшифровка при выдуманных ключах не работает: её подменяют
`internal/adapter/recognizer/memory.go`. Подробности строками в
`config.example.toml`.
**Войти при выдуманных адресах нельзя** — они никуда не ведут, а сервис без
входа не отдаёт ничего. Вместо провайдера поднимается заглушка
`cmd/oidcstub` — она отвечает на `/authorize`, `/token` и `/userinfo`, а
проверок не делает никаких;
значения `[auth]` под неё стоят строками в `config.example.toml`. Ключи
боевого провайдера на машине разработчика при этом по-прежнему не нужны.
- **Yandex Cloud за деньги.** Распознавание и хранение в Object Storage
оплачиваются по факту. Прогон на реальных ключах ради проверки кода запрещён —
подставляй `internal/adapter/recognizer/memory.go`.