Containers et configuration: des promesses au concret avec git et confd

Docker (et le principe des conteneurs en général) est fortement lié à la promesse d’une image unique qui peut tourner partout et que le même artféfact peut être utilisé sur n’importe quel environnement “runtime” (du poste de développement jusqu’en production!) sans avoir à reconstruire une image à chaque fois. Mais comment atteindre cet objectif de manière pratique et efficace tout en étant capable de conserver l’historique de la configuration de vos applications sur les différents environnements?