Je pense à un système, où /etc
ont été suivis sur un référentiel git distant. Je pense à un flux de travail git, où chaque machine hôte où une branche différente.
Toutes les versions précédentes sur chaque machine pouvaient être facilement suivies, comparées, fusionnées.
Si une /etc
modification devait être validée sur de nombreuses machines, elle pourrait être facilement effectuée par un script de fusion.
En cas de /etc
changement "indésirable" , cela pourrait être bien visible (même les scripts d'alarme pourraient être réglés pour le surveiller).
Quelqu'un a déjà utilisé une telle configuration? Y a-t-il des problèmes de sécurité?
configuration
git
peterh - Réintégrer Monica
la source
la source
etckeeper
déjà sur de nombreux systèmes. Il n'offre pas toutes les fonctionnalités que vous avez demandées. Par exemple, il a un référentiel par hôte, pas un référentiel central.Réponses:
Le programme se
etckeeper
gère/etc
dansgit
, il vous suffit de changer le backend vcs par défaut debzr
àgit
in/etc/etckeeper/etckeeper.conf
.Il est installé par défaut dans Ubuntu Linux et gère les cas courants de validation automatique.
Il s'engage avant l'installation des packages en cas de modifications manuelles non validées et après l'installation.
la source
Le problème avec le suivi de la configuration pour
/etc
ingit
est que tout ce que vous gagnez vraiment en faisant cela est le contrôle de version (la plupart desgit
novices ne savent même pas commenttag
etbranch
correctement, donc peu probable à ce stade) et la possibilité de revenir en arrière (encore une fois, si vous n'êtes pas '' ttagging
correctement, vous ne gagnez rien mais un journal pour blâmer les gens); mais vous perdez le modèle (modèle de cant parce que git ne le fournit pas) et la mise à l'échelle (vous ne pouvez pas appliquer la configuration ailleurs; surtout si vous utilisez des bases de données distribuées comme Elasticsearch), et la gestion automatisée des systèmes (encore une fois, git ne fournit pas cela ).Cela étant dit, ce que vous recherchez probablement, c'est la gestion de la configuration ; que les liens dans templating ,
git
et les scripts de base pour gérer la configuration. Bien sûr, cela va dans le sens de DevOps et de l' infrastructure en tant que code .Pour ajouter à cela; Ansible a
ansible-pull
qui peut extraire le dernier dépôt de vos playbooksgit
; il en va de même pour le chef. Fondamentalement, les administrateurs Linux modernes ne devraient pas utiliser quelque chose commeetckeeper
. Le chef a également le mode client-serveur sur lequel vous pouvez gérer tous les systèmes avec leschef-client
basés surenvironment
,roles
et les versions livres de cuisine; des choses que vous ne pouvez pas fairegit
uniquement et à grande échelle.la source