Como posso restringir os comandos do agente fantoche? Preciso apenas permitir que o agente fantoche seja executado sem noop no ramo de produção.
- Bloquear
puppet agent --test --environment devbranch
- Permitir
puppet agent --test --environment devbranch --noop
- Permitir
puppet agent --test --environment production
Acho que algum tipo de magia no auth.conf deveria ser capaz de cuidar disso, mas não estou familiarizado o suficiente para fazer isso.
Responder1
Graças ao @Zoredache consegui fazer essa build do jeito que preciso.
Estou usando a seção [principal] para criar e gerenciar ramificações dinamicamente e [produção] para substituir a configuração noop. Tenho certeza que isso também poderia ser feito em [agente], mas já comecei aqui.
[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
confdir = /puppet/$environment
vardir = /puppet/.$environment-var
ssldir=/etc/puppet/ssl
environment = production
server = puppet.domain.org
pluginsync = true
noop = true
# Disable running all branches by default
[production]
noop = false
EDIT: Parece que falei cedo demais. O noop está sangrando. Embora a sintaxe acima esteja correta, uma das advertências que examinei não permitirá que isso funcione.https://puppet.com/docs/puppet/latest/env_environments.html
.. os ambientes têm algumas limitações, a maioria das quais são bugs conhecidos ou caprichos de implementação, em vez de escolhas de design.
O Puppet lerá apenas as configurações modulepath, manifest, manifestdir e templatedir dos blocos de configuração do ambiente; outras configurações em qualquer um desses blocos serão ignoradas em favor das configurações nos blocos [master] ou [main]. (Edição 7497)
Responder2
Você não pode fazer assim, alguém que tenha acesso à linha de comando poderia impor praticamente qualquer opção.
Se você quiser controlar quem pode implantar qual ambiente, aconselho usarColetivopara correr fantoche. Você pode criar ACLs bastante detalhadas lá e coordenar fantoches em vários nós e fazer coisas como "implantar em 2 máquinas, se não falhar, implantar nas próximas 10, se não falhar, implantar em repouso".