feat: добавить генерацию image variants

- добавлен shared config presets, custom transforms и allowlist hosts
- реализованы Backend endpoints для assets, presets и variants
- добавлена orchestration через PostgreSQL, RabbitMQ, S3 и worker
- обновлён Gateway read-through flow с L1 cache и корректным Vary: Accept
- добавлена миграция resize_mode для variants lookup
- обновлены dev scripts, env template, lockfile и документация
This commit is contained in:
2026-05-05 13:25:28 +03:00
parent bcadb85a83
commit 1c0e8277a3
59 changed files with 3526 additions and 143 deletions

51
pnpm-lock.yaml generated
View File

@@ -38,6 +38,18 @@ importers:
apps/backend:
dependencies:
'@image-platform/database':
specifier: workspace:*
version: link:../../packages/database
'@image-platform/image-config':
specifier: workspace:*
version: link:../../packages/image-config
'@image-platform/queue':
specifier: workspace:*
version: link:../../packages/queue
'@image-platform/storage':
specifier: workspace:*
version: link:../../packages/storage
'@nestjs/common':
specifier: ^11.0.0
version: 11.1.19(reflect-metadata@0.2.2)(rxjs@7.8.2)
@@ -50,6 +62,12 @@ importers:
'@nestjs/swagger':
specifier: ^11.0.0
version: 11.4.2(@nestjs/common@11.1.19(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.19)(reflect-metadata@0.2.2)
amqplib:
specifier: ^1.0.4
version: 1.0.4
drizzle-orm:
specifier: ^0.45.2
version: 0.45.2(@types/pg@8.20.0)(pg@8.20.0)
reflect-metadata:
specifier: ^0.2.2
version: 0.2.2
@@ -66,6 +84,12 @@ importers:
'@nestjs/schematics':
specifier: ^11.0.0
version: 11.1.0(chokidar@4.0.3)(typescript@5.9.3)
'@types/amqplib':
specifier: ^0.10.8
version: 0.10.8
'@types/express':
specifier: ^5.0.6
version: 5.0.6
'@types/node':
specifier: ^24.0.0
version: 24.12.2
@@ -78,6 +102,9 @@ importers:
apps/gateway:
dependencies:
'@image-platform/image-config':
specifier: workspace:*
version: link:../../packages/image-config
fastify:
specifier: ^5.8.5
version: 5.8.5
@@ -97,6 +124,9 @@ importers:
'@image-platform/database':
specifier: workspace:*
version: link:../../packages/database
'@image-platform/image-config':
specifier: workspace:*
version: link:../../packages/image-config
'@image-platform/queue':
specifier: workspace:*
version: link:../../packages/queue
@@ -106,6 +136,9 @@ importers:
amqplib:
specifier: ^1.0.4
version: 1.0.4
drizzle-orm:
specifier: ^0.45.2
version: 0.45.2(@types/pg@8.20.0)(pg@8.20.0)
devDependencies:
'@types/amqplib':
specifier: ^0.10.8
@@ -142,7 +175,7 @@ importers:
specifier: ^6.0.3
version: 6.0.3
packages/queue:
packages/image-config:
devDependencies:
'@types/node':
specifier: ^25.6.0
@@ -151,6 +184,22 @@ importers:
specifier: ^6.0.3
version: 6.0.3
packages/queue:
dependencies:
amqplib:
specifier: ^1.0.4
version: 1.0.4
devDependencies:
'@types/amqplib':
specifier: ^0.10.8
version: 0.10.8
'@types/node':
specifier: ^25.6.0
version: 25.6.0
typescript:
specifier: ^6.0.3
version: 6.0.3
packages/storage:
dependencies:
'@aws-sdk/client-s3':