# 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']

    service{'rsyslog':
        ensure => running,
    }

    service{'puppet':
        ensure => stopped,
        enable => false,
    }

}