feat(infra): prêt au déploiement GitOps Portainer + Telegram optionnel (v0.32.0)

Compose de prod docker-compose.prod.yml (GitOps, sans env_file, réseau proxy
réel, certresolver letsencrypt) + runbook docs/deploy.md (Phase 1, users
chlova restreints Portainer/n8n). Surface Telegram rendue optionnelle pour un
déploiement UI-only ; garde assertHasSurface fail-closed. Typecheck + 78 tests
verts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016w5jRe87MGdd6AMvXQcHNi
This commit is contained in:
Kantin-Petit
2026-06-23 11:25:30 +02:00
parent faa1e82301
commit d824d16eed
7 changed files with 379 additions and 21 deletions
+4 -2
View File
@@ -27,8 +27,10 @@ PORTAINER_MCP_AUTH_TOKEN= # SECRET — token Portainer à portée RES
PORTAINER_READ_ONLY=true
MCP_PORTAINER_URL=http://mcp-portainer:3000
# ── Surface Telegram (Phase 1) ─────────────────────────────────────────
TELEGRAM_BOT_TOKEN= # SECRET — token du bot
# ── Surface Telegram (OPTIONNELLE) ─────────────────────────────────────
# Si vide, la surface Telegram n'est pas démarrée. Le backend exige alors une
# AUTRE surface (API/UI ci-dessous), sinon il refuse de démarrer (fail-closed).
TELEGRAM_BOT_TOKEN= # SECRET — token du bot (vide = pas de Telegram)
TELEGRAM_ALLOWED_USER_IDS= # liste d'IDs autorisés, séparés par virgule
# ── Backend CHLOVA ─────────────────────────────────────────────────────