Conventions
Structure d'un service
compose/<service>/
data/<service>/
env/<service>/
├── .env
└── .env.example
secrets/<service>/
docs/services/<service>.md
Déploiement
- Utiliser les scripts du framework.
- Éviter les commandes Docker manuelles.
- Un service doit rester autonome.
Configuration
- La configuration locale est dans
env/<service>/.env.
env/<service>/.env.example contient la structure attendue et est versionné.
- Les informations sensibles sont stockées dans
secrets/<service>/.
- Aucun secret ne doit être versionné.
Documentation
- Une fiche par service.
- Documenter uniquement ce qui n'est pas évident.
- Mettre à jour la documentation après une modification importante.
Git
- Les fichiers
.env.example sont versionnés.
- Les données et les secrets ne sont pas versionnés.
- Un commit = une modification logique.
Philosophie
- Faire simple.
- Éviter les exceptions.
- Standardiser avant d'automatiser.
- Si une amélioration peut servir à plusieurs services, l'intégrer au framework.