A única dificuldade que conheço está no tipo de recurso file
.
O backup dos arquivos substituídos se comporta de maneira diferente, usando o filebucket do servidor por padrão, em vez do filebucket local.
O mais importante é estar ciente do parâmetro source
.
source => '/tmp/somepath/sshd_config',
Com um caminho de arquivo bruto, ele sempre tentará o caminho local.
source => 'puppet://puppetmaster1/modules/sshd/sshd_config',
Com um caminho puppet://server/
, ele sempre tentará o caminho remoto.
source => 'puppet:///modules/sshd/sshd_config',
Com uma especificação de servidor vazia, fica interessante.
Aplicado localmente, o caminho do módulo puppet local é usado para encontrar o arquivo.
Quando se reporta a um puppetmaster, o servidor que lhe deu o manifesto é tratado como o servidor.
Além disso, se você precisar ser criativo sobre a origem de um arquivo, poderá fornecer uma lista à lista source
:
source => [ '/tmp/somepath/sshd_config', 'puppet:///modules/sshd/sshd_config'],
O primeiro local onde algo foi encontrado será usado.