1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
class nodo::subsystem::apt(
$ensure = present,
$auto_upgrade = present,
$hour = 2,
$minute = 0,
) {
file { '/etc/apt/sources.list':
ensure => present,
owner => root,
group => root,
mode => '0644',
notify => Exec['nodo-apt-auto-update'],
content => $ensure ? {
'present' => template("nodo/apt/${::operatingsystem}.sources.list.erb"),
default => undef,
},
}
# We have /var/log/dpkg.log, so we do not need to rotate /var/log/upgrade.log
$log = ">> /var/log/upgrade.log 2>&1"
$apt = '/usr/bin/apt-get'
$command = "${apt} update ${log} && ${apt} dist-upgrade -y ${log} && ${apt} autoremove -y ${log} && ${apt} clean ${log}"
exec { 'nodo-apt-auto-update':
command => "${apt} update ${log}",
user => "root",
refreshonly => true,
}
cron { 'nodo-apt-auto-upgrade':
ensure => $auto_upgrade,
command => $command,
environment => 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
user => 'root',
hour => $hour,
minute => $minute,
}
package { 'apt-transport-https':
ensure => installed,
}
}
|