Добавить общий Storage-сервис данных
Новый сервис Deal.Storage (src/storage-service): gRPC Upload/ Download/Stat/Delete, определение типа контент-снифингом, MinIO-бэкенд, токен-валидация через общий интерцептор. Контракт storage.proto в Deal.Proto; sln сервиса; подключение в compose.dev и эндпоинт в core; тесты (снифер + хост/токен).
This commit is contained in:
+28
-1
@@ -1,7 +1,7 @@
|
||||
# compose.dev.yml — dev-стек Дейла (этап 6, Task 20; Ruling 12).
|
||||
#
|
||||
# Полный стек: postgres + minio (хранилища), три автономных сервиса этапа 6
|
||||
# (telegram-service :5101, ai-service :5102, ml-service :5103) и core (deal-api:
|
||||
# (telegram-service :5101, ai-service :5102, ml-service :5103, storage-service :5104) и core (deal-api:
|
||||
# HTTP :5080 + gRPC-ингресс :5082).
|
||||
#
|
||||
# Режимы интеграций core — флагами SERVICES__{ML,AI,TELEGRAM}__USELOCAL (Ruling 6):
|
||||
@@ -88,6 +88,7 @@ services:
|
||||
Services__Ml__Endpoint: http://ml-service:5103
|
||||
Services__Ai__Endpoint: http://ai-service:5102
|
||||
Services__Telegram__Endpoint: http://telegram-service:5101
|
||||
Services__Storage__Endpoint: http://storage-service:5104
|
||||
Storage__Minio__Endpoint: minio:9000
|
||||
Storage__Minio__AccessKey: deal_minio
|
||||
Storage__Minio__SecretKey: deal_minio_secret
|
||||
@@ -186,6 +187,32 @@ services:
|
||||
timeout: 3s
|
||||
retries: 10
|
||||
|
||||
# storage-service — общий gRPC-сервис данных (вложения источников). Отдельный процесс, отдельное sln
|
||||
# (src/storage-service/Deal.Storage.sln). Загрузка/выгрузка/стат/удаление объектов; тип объекта
|
||||
# определяет сервис. Бэкенд — MinIO. Защита — общий service-token (DEAL_SERVICE_TOKEN).
|
||||
storage-service:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: src/storage-service/Deal.Storage/Dockerfile
|
||||
container_name: deal-storage-service
|
||||
environment:
|
||||
GRPC_PORT: "5104"
|
||||
DEAL_SERVICE_TOKEN: ${DEAL_SERVICE_TOKEN:-deal_dev_service_token}
|
||||
DEAL_STORAGE_ENDPOINT: minio:9000
|
||||
DEAL_STORAGE_ACCESS_KEY: deal_minio
|
||||
DEAL_STORAGE_SECRET_KEY: deal_minio_secret
|
||||
DEAL_STORAGE_BUCKET: deal-attachments
|
||||
DEAL_STORAGE_SECURE: "false"
|
||||
ports:
|
||||
- "5104:5104"
|
||||
depends_on:
|
||||
- minio
|
||||
healthcheck:
|
||||
test: ["CMD", "/bin/grpc_health_probe", "-addr=localhost:5104"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 10
|
||||
|
||||
# Prometheus (профиль observability, этап 12/пакет A) — сбор /metrics всех 4 процессов (:9464)
|
||||
# внутри dev-сети. Подъём: docker compose -f deploy/compose.dev.yml --profile observability up -d.
|
||||
# Конфиг — общий deploy/observability/prometheus.yml (те же имена сервисов и таргеты). UI — 9090.
|
||||
|
||||
Reference in New Issue
Block a user