Hermes Agent
8d4a87f077
feat: API-ключ — фильтр X-API-Key на /api/**, /actuator открыт
...
Build Media Mirror API / Build and publish (release) Successful in 34s
- ключ из конфига (app.api-key), пустой = dev-режим без защиты
- 401 без/с неверным ключом, actuator не закрыт (k8s-пробы)
- добавлен spring-boot-starter-actuator
- тесты: 35 (401/200/actuator/dev-режим)
4
2026-08-10 22:06:33 +03:00
Hermes Agent
ff72389ea6
feat: POST /api/mirror/scan — сканер Jellyfin (догоняет недосконвертированное)
...
Build Media Mirror API / Build and publish (release) Successful in 29s
- обход /Users + пагинация Items (Movie,Episode, Limit=200)
- done → skip, failed/cancelled → пересоздать, идемпотентен (unique-индекс + DuplicateKey)
- Jellyfin недоступен → 502; apiKey в конфиг
- тесты: пагинация 450, done-skip, failed-recreate, идемпотентность, 500→исключение
3
2026-08-10 21:42:23 +03:00
Hermes Agent
bd85ff74f4
db: отдельная база media_mirror вместо glasses
Build Media Mirror API / Build and publish (release) Successful in 27s
2
2026-08-10 18:06:44 +03:00
Hermes Agent
6a520f3fd8
ci: CICD-сборка (Gitea Actions: bootJar → docker → helm-publish) + helm-чарт
...
Build Media Mirror API / Build and publish (release) Successful in 27s
- workflow на release published: bootJar, build-docker (media-mirror/*), helm-publish (9.9.9 → tag)
- helm: Chart.yaml placeholder 9.9.9, values, templates (deployment/service/configmap/secret)
- env: DB, S3, Jellyfin через secret
1
2026-08-10 17:36:19 +03:00
Hermes Agent
c0483ef3d1
feat: media-mirror-api — координатор зеркал (REST + очередь в Postgres)
...
- POST /api/mirror (дубль-контроль по itemId), GET статус/by-item/список, DELETE (cancelled/S3-очистка)
- kotlinx-сериализация, Jackson выпилен из HTTP-стека (транзитив Flyway/AWS остался)
- Spring Boot 4.1.0, Kotlin 2.4.10, Flyway, Testcontainers postgres+minio
- тесты: 22, LINE 92.6%, smoke против живой БД прошёл
2026-08-10 17:29:50 +03:00
subochev
6250cb0a38
Initial commit
2026-08-10 13:26:10 +00:00