Existe um plugin para manter sua definição de infraestrutura no Foreman, praticamente uma versão serializada de seus dados no Git, e fazer upload (e alterar sua infra-estrutura). Talvez isso seja útil para você
Acabei de configurar o Foreman pela primeira vez & Não tenho certeza de como colocar todas as minhas configurações sob controle de versão. Eu sei que posso usar o Git para cada módulo que eu instalo no meu mestre Puppet, mas preferiria uma solução mais holística que englobe não apenas módulos, mas também quais classes estão associadas a cada host e quaisquer variáveis definidas nos hosts. Qualquer sugestão seria muito apreciada junto com fluxos de trabalho relacionados. Caso seja relevante, eu tenho a configuração do GitLab como um servidor Git central no site e planejo configurar um servidor de IC como o Jenkins em breve.
Existe um plugin para manter sua definição de infraestrutura no Foreman, praticamente uma versão serializada de seus dados no Git, e fazer upload (e alterar sua infra-estrutura). Talvez isso seja útil para você
Com o contramestre, você deve poder visualizar todas as classes junto com qualquer variável de configuração atribuída nos detalhes do host. Veja: link .
Não tenho certeza se entendi sua pergunta, mas você encontrou o "bibliotecário de marionetes" link ? Lá você é capaz de definir quais versões / sha1 de módulos de fantoches você gosta de usar.
Caso alguém esteja lendo isso mais tarde: Com o fantoche, você pode definir qual versão do pacote / software você gostaria de instalar com a declaração "version = > X.Y.Z".
Gene, eu tentei o meu melhor, mas eu ainda não entendi a sua pergunta. Desculpe por isso: (
Acho que o que você está procurando é muito simples.
As configurações do Puppet estão em /etc/puppet
. A opção mais simples é apenas executar
git init /etc/puppet/
você pode adicionar o Gitlab como um controle remoto e avançar para ele.
Alternativamente, você pode tentar algo parecido com o que eu descrevo aqui que não é centrado no Foreman, mas não vejo razão para que você não possa usá-lo como inspiração.
Você também pode considerar o etckeeper, que faz isso automaticamente
Você ainda pode escrever um wrapper como
vi puppet_wrapper.sh
#!/bin/bash
# variables
ETCKEEPER='which etckeeper'
ETCKEEPER_MSG=$1
PUPPET='which puppet'
PUPPET_CMD=$2
# Msg would be your commit msg
etckeeper commit $ETCKEEPER_MSG
# PUPPET_CMD e.g. apply
puppet $PUPPET_CMD
Estou trabalhando com isso por algum tempo e tudo bem para as minhas necessidades.
Acho que você só precisa configurar um repositório no git em que cada ramificação do repositório git seja mapeada para um ambiente de fantoches e quando você quiser alterar algo no fantoche, basta clonar o repositório, fazer alterações e enviá-lo para o repositório. filial correspondente. Você também precisa configurar um git hook que irá disparar quando você enviar suas mudanças para o repositório git para que ele atualize o ambiente mapeado no servidor de fantoches. Você pode fazer tudo isso manualmente ou apenas através deste módulo de fantoches.