Bem, em uma classe que está incluída em todos os meus nós, eu tenho:
filebucket { puppet: server => "puppet.example.edu" }
O padrão no tipo de arquivo é fazer o backup em um filebucket local chamado "puppet". Ao alterar o filebucket "puppet" para um server filebucket, você obtém filebucket baseado em servidor por padrão.
Como alternativa, se você quiser preservar a opção de substituir um arquivo específico para usar um filebucket local, poderá fazer:
filebucket { main: server => "puppet.example.edu"; }
File { backup => main }
Consulte o link para obter mais detalhes sobre as opções.
Isso realiza o item 1 porque diz aos nós para todos usarem o mesmo servidor único para o filebucket. O item 3 vem de graça, porque ainda está tudo passando por uma conexão baseada em SSL com verificação de certificado SSL.
Filebucket é mais útil em caso de recuperação, o que provavelmente será no mesmo dia. Nesse caso, examine o relatório e use o comando " filebucket
" ou " puppet filebucket
" para recuperar o conteúdo original com base no md5sum no relatório.
O item # 2 é onde as coisas ficam complicadas ...
Eu podo com um script como este:
find /var/lib/puppet/clientbucket/ -type f -mtime +45 -atime +45 -delete
Isso remove qualquer coisa com mais de 45 dias e que não tenha sido acessada nesse período. Os 45 dias baseiam-se em nossa política de retenção de backup e backup, já que é tempo suficiente para que um backup com uma retenção longa tenha ocorrido e nos forneça um tempo teórico de recuperação de 18 meses.
Que tipo de análise você está procurando? A configuração do repositório no servidor é uma hierarquia organizada por md5sum e, dentro de um nome de diretório correspondente ao md5sum, há "caminhos" para informar qual arquivo e "conteúdo" é o arquivo real. Você precisa ver os relatórios para ver de que sistema veio.
Eu não faço nenhuma auditoria. Que tipo de auditoria você está procurando? Isso pode significar muitas coisas.