Primeiro, eu não uso o Foreman, eu uso o hiera. Os exemplos devem dar uma idéia do que é uma ENC, não fornecer um tutorial completo para usar o Foreman. Aqui está um um que cobre o básico.
Em segundo lugar, o Puppetlabs fornece um site semelhante a este para perguntas específicas de bonecos, então você pode querer procurar lá por ajuda .
Para sua pergunta:
Foreman é, como hiera, um classificador de nó externo (ENC) . Isso significa que você pode usá-lo para anexar classes a serem carregadas ou variáveis para um nó a ser usado por classes carregadas.
O que você ainda deve (e tem que fazer) é fornecer fantoches com módulos e manifestos para carregar.
Então, um exemplo seria escrever um módulo chamado misc
, colocar em /etc/puppet/environment/prod/modules/misc
.
class misc {
package { "screen":
ensure => "installed"
}
}
Você pode usar o Foreman para anexar a classe misc
aos nós de amostra node01.example.com
e node02.example.com
para instalar a tela nos dois nós.
Outro exemplo usando variáveis:
class misc(
$packages = [ "screen" ],
) {
package { $packages:
ensure => "installed"
}
}
Você pode usar o Foreman para anexar a classe misc
aos nós de amostra node01.example.com
e node02.example.com
e definir a variável misc::packages
como [ "vim", "screen", "telnet" ]
para fazer com que instale o vim, a tela e o telnet nos dois nós .