Encontrei a resposta no link
Novo para o Puppet v4 é um provedor puppet_gem para o recurso de pacote.
package { 'azure' :
provider => 'puppet_gem',
ensure => installed,
}
O módulo Puppet Azure requer gemas específicas para serem instaladas. As instruções link mostram o seguinte exemplo:
/opt/puppetlabs/puppet/bin/gem install azure azure_mgmt_compute azure_mgmt_storage azure_mgmt_resources azure_mgmt_network hocon retries --no-ri --no-rdoc
O gem específico binário /opt/puppetlabs/puppet/bin/gem
é usado para garantir que as gemas sejam instaladas no diretório de instalação do boneco e usar a versão empacotada do ruby.
O recurso de pacote do Puppet tem um provedor gem, mas será instalado usando o sistema ruby.
Como posso fantocalizar a instalação de joias específica para o fantoche? Eu prefiro não usar um recurso exec
. Existe um recurso para o agente de marionetes instalar gemas?
Encontrei a resposta no link
Novo para o Puppet v4 é um provedor puppet_gem para o recurso de pacote.
package { 'azure' :
provider => 'puppet_gem',
ensure => installed,
}
Olhando para o provedor , de fato desembolsar para gem
em vez de fazer coisas em ruby (o que provavelmente não é possível a todos).
Isso não é configurável. Você pode tentar fazer com que o boneco agent
(ou apply
) seja executado com um PATH
que prefere o Ruby / gem do Puppet sobre outras cópias. Isso pode fazer (mas pode quebrar outras coisas). Claro, você perde a opção de instalar gems "system" na mesma transação Puppet.