Gitlab Community Edition Instance

Skip to content
Snippets Groups Projects
puppet_agent.pp 1.57 KiB
# 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,
        mode => 644,
    }

    if $nightly_only == true {
        file{'/etc/cron.d/puppet-cron':
            ensure  => present,
            content => "${puppet_cron_time},${puppet_cron_time_plus_30} 2-5/1 * * * root puppet agent --onetime --no-daemonize --logdest syslog\n",
        } -> Service['puppet']
    } else {
        file{'/etc/cron.d/puppet-cron':
            ensure  => present,
            content => "${puppet_cron_time},${puppet_cron_time_plus_30} * * * * root puppet agent --onetime --no-daemonize --logdest syslog\n",
        } -> Service['puppet']
    }

    if $on_reboot_once == true {
        file{'/etc/cron.d/puppet-cron-reboot':
            ensure  => present,
            content => "@reboot root sleep 3m ; puppet agent --onetime --no-daemonize --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,
    }

}