Versão do TLDR: Dado o uso normal do fileserver.conf, como eu construo uma URL de fantoche que realmente funciona?
.
Estou tentando começar com o Puppet e algumas instâncias virtuais. Para uma primeira tarefa, estou tentando distribuir um arquivo authorized_keys usando o tipo de arquivo . Sim, isso pode ser feito com o tipo de chave autorizada ssh , mas isso é sobre distribuição de arquivos por enquanto, certo?
O arquivo que serve wiki implica os caminhos que eu deveria estar construindo. Primeiro, eis o que o puppetmasterd sabe:
$ grep -B 1 path /etc/puppet/fileserver.conf
[files]
path /etc/puppet
Em segundo lugar, criei um arquivo, /etc/puppet/modules/ssh/manifests/init.pp
, que contém o seguinte:
$ cat /etc/puppet/modules/ssh/manifests/init.pp
class ssh {
file { "/home/ubuntu/.ssh/authorized_keys":
source => "puppet:///modules/ssh/authorized_keys",
mode => 400,
owner => ubuntu,
group => ubuntu
}
file { "/home/ubuntu/.ssh":
ensure => directory,
mode => 700,
owner => ubuntu,
group => ubuntu
}
notify {"all done.":}
}
# declare class
class {'ssh':}
Quando eu executo o arquivo diretamente, ele falha da seguinte forma:
$ puppet apply --verbose /etc/puppet/modules/ssh/manifests/init.pp
info: Applying configuration version '1357516270'
notice: all done.
notice: /Stage[main]/Ssh/Notify[all done.]/message: defined 'message' as 'all done.'
err: /Stage[main]/Ssh/File[/home/ubuntu/.ssh/authorized_keys]: Could not evaluate: Could not retrieve information from environment production source(s) puppet:///modules/ssh/authorized_keys at /etc/puppet/modules/ssh/manifests/init.pp:7
notice: Finished catalog run in 0.04 seconds
Eu tentei várias versões do link da fonte de marionetes. Por exemplo:
puppet:///modules/ssh/authorized_keys
puppet:///authorized_keys
Aqui é onde reside o arquivo authorized_keys :
$ ls -l /etc/puppet/modules/ssh/files/authorized_keys
-rw------- 1 root root 796 Jan 6 23:30 authorized_keys
Este padrão de "init.pp" e "files / *" parece corresponder ao Entrada avançada no wiki do Puppet Pattern .
Aqui está a minha versão de fantoches, para completar.
$ puppet --version
2.7.18
Para mostrar que não estou fazendo a pergunta "consertar minha pergunta simples" ou "fazer minha lição de casa", tenho trabalhado para encontrar respostas para essa pergunta básica. Eu incluí os links acima para fontes de referência e examinei outro responde também. Eu vi falhas que são problemas de certificação ( 1 , 2 ), mas isso é local. Irritantemente, isso parece muito próximo, mas dá uma reviravolta Vagante , embora haja uma resposta que fala sobre uma seção [modules]
em vez de uma seção [files]
, que não existe no wiki. Eis um recente tópico "lista de discussão oficial" , mas não consegui entender o que estou fazendo errado.