Files
iu 8638d1bbfc chore(openspec): archive completed changes and sync main specs
- archive local-fs-storage-backend, sqlite-metadata-backend,
  storage-orphan-reconciliation, metadata-managed-jwt-secret, default-local-backends
- sync specs: storage-backends, metadata-backends, storage-reconciliation,
  app-secrets; update photos/share-links
- defaults reflected in specs: SQLite and local FS
2026-10-11 10:19:44 +03:00

1.6 KiB
Raw Permalink Blame History

Tasks

1. Репозиторий секретов и миграции

  • 1.1 Добавить таблицу app_settings миграциями: PostgreSQL 000010_app_settings и SQLite 000002_app_settings; проверка — применение на временных БД и идемпотентность.
  • 1.2 Реализовать internal/settings (Get/Set/Ensure) для pg и sqlite и добавить в store.Repos; проверка — контрактный тест: Ensure идемпотентен и возвращает одно значение.

2. Проводка и конфиг

  • 2.1 Убрать Auth.JWTSecret и его обязательность из конфига; app.New принимает готовый *auth.TokenManager; storage.Open принимает секрет-fallback; проверка — go build ./....
  • 2.2 В cmd/server после открытия метаданных получить/сгенерировать секрет и собрать TokenManager и storage; проверка — e2e: перезапуск процесса даёт тот же секрет (токен, выпущенный до перезапуска, валиден после).

3. Документация

  • 3.1 Обновить .env.example, project.md, README.md: убрать JWT_SECRET, описать автогенерацию секрета в слое метаданных и роль URL_SECRET; проверка — документированный запуск без JWT_SECRET стартует.