Gitlab Community Edition Instance

Skip to content
Snippets Groups Projects
puppet_agent.pp 1.97 KiB
Newer Older
  • Learn to ignore specific revisions
  • # puppet agent auf cron umstellen
    
    class ubuntu_server::puppet_agent($nightly_only=false,$on_reboot_once=true){
    
    
        $puppet_cron_time = fqdn_rand(28,'puppet_cron_time') + 1
    
        $puppet_cron_time_plus_30 = $puppet_cron_time + 30
    
    
        File{
            owner => root,
            group => root,
    
    Benedikt Wegmann's avatar
    Benedikt Wegmann committed
            mode => 0644,
    
        if $nightly_only == true {
    
            file{'/etc/cron.d/puppet-cron':
    
                ensure  => present,
    
                content => "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n${puppet_cron_time},${puppet_cron_time_plus_30} 2-5/1 * * * root puppet agent --verbose --no-daemonize --onetime --show_diff --no-usecacheonfailure --no-splay --ignorecache --logdest syslog\n",
    
            } -> Service['puppet']
        } else {
            file{'/etc/cron.d/puppet-cron':
    
                ensure  => present,
    
                content => "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n${puppet_cron_time},${puppet_cron_time_plus_30} * * * * root puppet agent --verbose --no-daemonize --onetime --show_diff --no-usecacheonfailure --no-splay --ignorecache --logdest syslog\n",
    
            } -> Service['puppet']
        }
    
    
        if $on_reboot_once == true {
    
            file{'/etc/cron.d/puppet-cron-reboot':
    
                ensure  => present,
    
                content => "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n@reboot root sleep 3m ; puppet agent --verbose --no-daemonize --onetime --show_diff --no-usecacheonfailure --no-splay --ignorecache --logdest syslog\n",
    
            } -> Service['puppet']
        }
    
    
        file{'/etc/rsyslog.d/31-puppet-agent.conf':
            ensure => present,
    
            source => 'puppet:///modules/ubuntu_server/etc/rsyslog.d/31-puppet-agent.conf',
    
        } ~> Service['rsyslog']
    
    
        file{'/etc/logrotate.d/puppet-agent':
            ensure => present,
    
            source => 'puppet:///modules/ubuntu_server/etc/logrotate.d/puppet-agent',
    
        service{'rsyslog':
            ensure => running,
        }
    
    
        service{'puppet':
            ensure => stopped,
            enable => false,
        }
    
    }