Version Controlling Foreman & Puppet

7

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.

    
por GeneBean 18.04.2014 / 16:09

7 respostas

2

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ê

link

    
por 29.10.2014 / 18:30
0

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 .

    
por 19.04.2014 / 23:13
0

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.

    
por 20.04.2014 / 20:25
0

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: (

    
por 21.04.2014 / 22:48
0

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.

    
por 28.07.2014 / 14:27
0

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.

    
por 28.07.2014 / 14:34
0

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.

link

    
por 14.02.2016 / 21:08