Puppet – Qualsiasi modo per copiare i file di configuration personalizzati predefiniti per il software sui client dal master fantoccio (host)?

Ho avuto un sacco di divertimento codificare con quale marionetta ho avuto esperienza con finora, e finora sembra che possa fare la maggior parte di quello che ho bisogno di fare.

Una cosa che non trovo nella documentazione (con una certa ricerca) è come (se è ansible) avere file di configuration pre-costruiti da utilizzare sui server. Per esempio:

  • linux initcwnd e initrwnd via /etc/sysctl.conf
  • Aggiornamento continuo di Netstat (guarda cambia l'output)
  • Come uccidi un tree di process in Linux?
  • Ponte di networking in dom0 non può ping domU
  • Come posso migrare Dovecot da un server a un altro?
  • garanzia Linux o memory di riserva per un process specifico
  • Io uso il burattino per installare httpd. Ora abbiamo apache sul client. Ebbene, l'httpd.conf richiede alcune personalizzazioni e impostazioni specifiche. Ho l'httpd.conf che devo usare sul maestro del burattino. Come ottengo dal maestro del burattino al cliente?

    3 Solutions collect form web for “Puppet – Qualsiasi modo per copiare i file di configuration personalizzati predefiniti per il software sui client dal master fantoccio (host)?”

    Sono andato sul canale IRC per il burattino e ho scoperto che questo può essere fatto con l'attributo di origine.

    file { "/etc/firewall.sh": owner => root, group => root, mode => 550, source => "puppet:///files/iptables.sh" } 

    la posizione dei file è impostata in /etc/puppet/fileserver.conf – la configuration è semplice.

    Il tag di contenuto anziché l'origine può essere utilizzato per inserire una string letterale nel file.

    Se fossi stato a te, utilizzerei il puppet:///modules/<module name>/iptables.sh . In questo modo tutto è limitato al module e non è necessario un fileserver.conf. Il puppet:///modules/* è gratuito.

    L'utilizzo di file statici è un buon inizio. L'utilizzo di templates è ancora migliore e più flessibile a lungo termine.

    http://docs.puppetlabs.com/guides/templating.html

     $hostname = 'your.host.com' $portnum = 8080 file { '/etc/lighttpd/lighttpd.conf': ensure => present, content => template('lighttpd/lighttpd.conf.erb'), owner => 'root', group => 'root', mode => 0644, } 

    Questo combinato con un model .erb crea il file di configuration desiderato usando le variables $ hostname e $ portnum.

     $HTTP["host"] =~ "^<%= hostname %>" { proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => <%= portnum %> ) ... 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.