Jawaban:
Nah, di kelas yang disertakan oleh semua node saya, saya punya:
filebucket { puppet: server => "puppet.example.edu" }
Default dalam jenis File adalah untuk membuat cadangan ke filebucket lokal bernama "boneka". Dengan mengubah filebucket "boneka" ke filebucket server, Anda mendapatkan filebucket berbasis server secara default.
Sebagai alternatif, jika Anda ingin mempertahankan opsi mengganti satu file tertentu untuk menggunakan filebucket lokal, Anda bisa melakukan:
filebucket { main: server => "puppet.example.edu"; }
File { backup => main }
Lihat http://docs.puppetlabs.com/references/latest/type.html#filebucket untuk detail lebih lanjut tentang opsi.
Ini mencapai item # 1 karena memberitahu node untuk semua menggunakan server tunggal yang sama untuk filebucket. Item # 3 datang secara gratis karena masih semua akan melalui koneksi berbasis SSL dengan verifikasi sertifikat SSL.
Filebucket sebagian besar berguna jika terjadi pemulihan, yang kemungkinan akan menjadi hari yang sama. Dalam hal ini, lihat laporan dan gunakan perintah " filebucket
" atau " puppet filebucket
" untuk mengambil konten asli berdasarkan md5sum dalam laporan.
Item # 2 adalah tempat segalanya menjadi rumit ...
Saya memangkasnya dengan skrip seperti ini:
find /var/lib/puppet/clientbucket/ -type f -mtime +45 -atime +45 -delete
Itu menghapus apa pun yang lebih dari 45 hari dan belum diakses sama sekali pada waktu itu. 45 hari didasarkan pada kebijakan cadangan dan retensi cadangan kami, karena cukup lama untuk cadangan dengan retensi lama telah terjadi dan memberi kami waktu pemulihan 18 bulan secara teoritis.
Jenis parsing apa yang Anda cari? Pengaturan bucket di server adalah hierarki yang diatur oleh md5sum, dan di dalam nama direktori yang cocok dengan md5sum, ada "jalur" untuk memberi tahu Anda file dan "konten" mana yang merupakan file aktual. Anda perlu melihat laporan untuk melihat dari mana asalnya.
Saya tidak melakukan audit. Jenis audit apa yang Anda cari? Itu bisa berarti banyak hal.
Satu saran adalah menambahkan file ke server kontrol revisi (svn, git). Saya menyimpan semua file yang berkorelasi dengan modul tertentu di direktori modules di bawah / file. Ketika sebuah file dimodifikasi, diperiksa ke dalam SVN dan didorong ke master melalui kait.
Sebagai contoh, saya memiliki modul yang mengelola postfix dan mendorong file / etc / postfix / virtual ke klien. File-file itu disimpan di / etc / puppet / modules / postfix / files.
Ini memberi Anda keuntungan menggunakan kembali kode yang dibuat dalam modul Anda serta mengatur file per modul.