Adicione o provedor de pacotes ao Puppet no Vagrant

1

Estou usando o Puppet para provisionar uma caixa do Vagrant e gostaria de incluir um provedor de pacotes de terceiros ( link )

O README.md nesse repo mostra como usar o provedor dentro de um manifesto, mas ele assume (eu acredito) um mestre de marionetes que tem ou está ciente desse provedor. Com a minha configuração Vagrant eu não tenho realmente um mestre de marionetes (ou é Vagrant atuando como um?), Então eu não tenho certeza como realmente usar a classe provedor de pacotes ( link )

O que eu preciso fazer no meu Vagrantfile, no (s) meu (s) manifesto (s) de marionete (s) ou em outro lugar na configuração do sistema host / host para permitir que eu use esse provedor de pacotes?

    
por theraccoonbear 09.09.2015 / 20:51

1 resposta

1

tl; dr:

  1. Verifique se o módulo provedor de marionetes está instalado e no caminho do módulo.
  2. Verifique se a ferramenta de terceiros subjacente também está instalada. Isso pode ser tratado pelo próprio módulo adicionando include cpanm ao (s) seu (s) manifesto (s).

Detalhes

Você deve ter o módulo do provedor instalado e no modulepath para ver o Puppet isso.

Usar um provedor sempre passa por uma verificação de adequação , que você pode ver na comandos / confines do provedor:

confine  :exists => ['/usr/bin/cpanm', '/usr/bin/perldoc']
commands :cpanm  => '/usr/bin/cpanm'

Adequação significa que o provedor declara que os itens acima precisam existir para que o provedor esteja ativo. Há uma mensagem que informa quando um provedor não é adequado que aparece quando você executa o Puppet com --debug --verbose , feito em um Vagrantfile assim:

config.vm.provision :puppet, :options => ["--debug --trace --verbose"] do |puppet|
  #other settings here
end

Exemplo de trabalho

Para um exemplo completo de uso de um provedor de pacotes de terceiros (Chocolatey), consulte

  • Instale a ferramenta PM de terceiros - link
  • Verifique se o provedor em si está instalado - link

No entanto, agora que o provedor Chocolatey pode manipular a própria instalação, ele se torna tão simples quanto garantir que o provedor esteja instalado e, em seguida, incluir o seguinte no manifesto:

include chocolatey

Voltando ao ciclo completo, parece que o cpanm também pode gerenciar a própria instalação :

include cpanm
    
por 10.09.2015 / 15:35