Copiando arquivos como um fato ? Por que você gostaria de fazer isso? Você pode simplesmente ter um Exec
to scp
ou ftp
o arquivo em outro lugar.
Se você precisar verificar o conteúdo de um arquivo, leve isso como exemplo:
# etcgroup.rb
Facter.add("etcgroup") do
setcode do
File.read('/etc/group')
end
end
Você pode então usar funções regex para extrair informações de dentro dele. Observe que isso é enviado como parte da URL de uma solicitação GET, que geralmente é limitada em número de caracteres. Eu tenho LimitRequestLine 30000
no meu apache2.conf
por apenas uma razão.
Se você realmente precisa realmente copiar o arquivo, pode fazer algo assim:
# etcgroup.rb
Facter.add("etcgroup") do
setcode do
%{ scp -i /path/to/identity /etc/group user@puppet:/path && echo ok || echo not ok}.chomp
end
end
Ele enviará o arquivo por scp
, usando uma identidade para evitar passar senhas e, em seguida, retornará ok
ou not ok
como fato.