- 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
1.6 KiB
1.6 KiB
Tasks
1. Репозиторий секретов и миграции
- 1.1 Добавить таблицу
app_settingsмиграциями: PostgreSQL000010_app_settingsи SQLite000002_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стартует.