Estou pensando em um sistema, onde /etc
foram rastreados em um repositório remoto do git. Estou pensando em um fluxo de trabalho git, onde cada máquina host possui uma ramificação diferente.
Todas as versões anteriores em todas as máquinas podiam ser facilmente rastreadas, comparadas e mescladas.
Se uma /etc
modificação tivesse que ser confirmada em muitas máquinas, isso poderia ser feito facilmente por algum script de mesclagem.
No caso de uma /etc
alteração "indesejada" , isso pode ser bem visível (até scripts de alarme podem ser ajustados para assistir a isso).
Alguém já usou essa configuração? Há algum problema de segurança?
configuration
git
peterh - Restabelecer Monica
fonte
fonte
etckeeper
que já é usado em muitos sistemas. Ele não oferece todos os recursos solicitados. Por exemplo, ele tem um repositório por host, não central.Respostas:
O programa
etckeeper
gere/etc
emgit
, você só precisa mudar o padrão vcs backend a partirbzr
degit
no/etc/etckeeper/etckeeper.conf
.Ele é instalado por padrão no Ubuntu Linux e lida com os casos comuns de quando confirmar automaticamente.
Ele é confirmado antes da instalação dos pacotes, caso haja alterações manuais não confirmadas e após a instalação.
fonte
O problema com o acompanhamento de configuração para
/etc
emgit
é que tudo que você realmente ganhar com isso é controle de versão (a maioria dosgit
novatos nem sei comotag
ebranch
adequadamente, tão improvável nesse ponto) e a capacidade de reversão (novamente, se você aren' ttagging
corretamente, você não ganha nada, mas um registro para culpar as pessoas); mas você perde a modelagem (modelo não pode porque o git não fornece isso) e a expansão (não é possível aplicar a configuração em nenhum outro lugar; especialmente se você estiver usando bancos de dados distribuídos como o Elasticsearch) e gerenciamento de sistemas automatizado (novamente, o git não fornece isso )Com isso dito, o que você provavelmente está procurando é gerenciamento de configuração ; que os laços em templates ,
git
e scripting básico para gerenciar a configuração. Obviamente, isso está indo na direção do DevOps e da Infraestrutura como código .Para adicionar a isso; O Ansible possui o
ansible-pull
qual pode obter o repo mais recente dos seus playbooksgit
; o mesmo se aplica ao Chef. Basicamente, os administradores modernos do Linux não devem usar algo parecidoetckeeper
. Chef também tem modo cliente-servidor onde você pode gerenciar todos os sistemas com oschef-client
baseados emenvironment
,roles
e livro de receitas versões; coisas que você não pode fazergit
apenas e em escala.fonte