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 против живой БД прошёл
This commit is contained in:
Hermes Agent
2026-08-10 17:29:50 +03:00
parent 6250cb0a38
commit c0483ef3d1
25 changed files with 1430 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
app:
jellyfin:
url: https://jellyfin.binom.pw/
s3:
url: https://s3.binom.pw
accessKey: ${S3_ACCESS_KEY}
secretKey: ${S3_SECRET_KEY}
bucket: media
region: us-east-1
prefix: mirror
spring:
datasource:
url: jdbc:postgresql://192.168.76.106:5432/glasses
username: postgres
password: postgres
flyway:
schemas: media_mirror
server:
port: 8080