fix(infra): harden AI service — graceful shutdown, rate limiting, API key auth, pinned deps, Grafana secrets

- Add dumb-init + --timeout-graceful-shutdown 30 to AI service Dockerfile
- Add slowapi rate limiting (configurable via AI_RATE_LIMIT) and X-API-Key auth middleware
- Pin all Python dependencies to exact versions for reproducible builds
- Move Grafana admin credentials from env vars to Docker secrets in production compose

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Ho Ngoc Hai
2026-04-08 06:13:29 +07:00
parent e89c8f5810
commit e60b95cdec
5 changed files with 69 additions and 22 deletions

View File

@@ -4,14 +4,15 @@ version = "0.1.0"
description = "AI/ML services for Goodgo Platform — AVM, feature extraction, moderation"
requires-python = ">=3.12"
dependencies = [
"fastapi>=0.115.0",
"uvicorn[standard]>=0.32.0",
"xgboost>=2.1.0",
"numpy>=1.26.0",
"underthesea>=6.8.0",
"pydantic>=2.9.0",
"pydantic-settings>=2.5.0",
"httpx>=0.27.0",
"fastapi==0.115.0",
"uvicorn[standard]==0.32.0",
"xgboost==2.1.0",
"numpy==1.26.4",
"underthesea==6.8.0",
"pydantic==2.9.0",
"pydantic-settings==2.5.0",
"httpx==0.27.0",
"slowapi==0.1.9",
]
[project.optional-dependencies]