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:
@@ -6,6 +6,23 @@ incompatibles. Chaque ligne renvoie à un commit dédié (un artefact = un commi
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.32.0] — 2026-06-23 — prêt au déploiement (GitOps Portainer, Phase 1)
|
||||
### Added
|
||||
- **`infra/docker-compose.prod.yml`** : compose de PRODUCTION pour GitOps
|
||||
Portainer. Sans `env_file` (secrets via variables de stack), réseau Traefik
|
||||
réel `proxy` (external), certresolver `letsencrypt`, backend joint `proxy`
|
||||
pour atteindre n8n en interne. Cible : env `vps-pogoo-002`.
|
||||
- **`docs/deploy.md`** : runbook Phase 1 — dépôt git, génération secrets,
|
||||
users restreints `chlova` (Portainer + n8n, étapes UI), variables de stack,
|
||||
déploiement, vérification, rollback, bascule Phase 2.
|
||||
- `config.assertHasSurface()` : refuse de démarrer si aucune surface (Telegram
|
||||
OU API/UI) n'est configurée. 3 tests (11 au total dans config).
|
||||
### Changed
|
||||
- **Surface Telegram rendue optionnelle** (`telegramBotToken` optionnel ;
|
||||
`index.ts` ne démarre la surface que si le token est présent). Permet le
|
||||
déploiement **UI-only** voulu. `.env.example` documenté en conséquence.
|
||||
- Typecheck vert, 78 tests verts.
|
||||
|
||||
## [0.31.0] — 2026-06-23 — app mobile (React Native / Expo)
|
||||
### Added
|
||||
- Package **`mobile/`** : app Expo SDK 56 (expo-router) réutilisant l'API backend.
|
||||
|
||||
Reference in New Issue
Block a user