diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/apt_conf_snippet.pp | 29 | ||||
-rw-r--r-- | manifests/default_sources_list.pp | 10 | ||||
-rw-r--r-- | manifests/init.pp | 48 | ||||
-rw-r--r-- | manifests/proxy-client.pp | 6 | ||||
-rw-r--r-- | manifests/unattended_upgrades.pp | 11 |
5 files changed, 63 insertions, 41 deletions
diff --git a/manifests/apt_conf_snippet.pp b/manifests/apt_conf_snippet.pp new file mode 100644 index 0000000..77b88ae --- /dev/null +++ b/manifests/apt_conf_snippet.pp @@ -0,0 +1,29 @@ +define apt::apt_conf_snippet( + $ensure = 'present', + $source = '', + $content = undef +){ + if $source == '' and $content == undef { + fail("One of \$source or \$content must be specified for apt_conf_snippet ${name}") + } + if $source != '' and $content != undef { + fail("Only one of \$source or \$content must specified for apt_conf_snippet ${name}") + } + + if $source { + file { "/etc/apt/apt.conf.d/${name}": + ensure => $ensure, + source => $source, + notify => Exec["refresh_apt"], + owner => root, group => 0, mode => 0600; + } + } + else { + file { "/etc/apt/apt.conf.d/${name}": + ensure => $ensure, + content => $content, + notify => Exec["refresh_apt"], + owner => root, group => 0, mode => 0600; + } + } +} diff --git a/manifests/default_sources_list.pp b/manifests/default_sources_list.pp deleted file mode 100644 index 91955d7..0000000 --- a/manifests/default_sources_list.pp +++ /dev/null @@ -1,10 +0,0 @@ -class apt::default_sources_list { - config_file { - # include main, security and backports - # additional sources could be included via an array - "/etc/apt/sources.list": - content => template("apt/${operatingsystem}/sources.list.erb"), - require => Package['lsb']; - } -} - diff --git a/manifests/init.pp b/manifests/init.pp index cdcd142..f55507f 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -6,7 +6,7 @@ class apt { import "custom_sources.pp" - + # See README $real_apt_clean = $apt_clean ? { '' => 'auto', @@ -68,10 +68,11 @@ class apt { require => undef, } + include lsb + # init $release, $next_release, $codename, $next_codename case $lsbdistcodename { '': { - include lsb $codename = $lsbdistcodename $release = $lsbdistrelease } @@ -85,7 +86,14 @@ class apt { case $custom_sources_list { '': { - include apt::default_sources_list + config_file { + # include main, security and backports + # additional sources should be included via the custom_sources_template + # define + "/etc/apt/sources.list": + content => template( "apt/$operatingsystem/sources.list.erb"), + require => Package['lsb']; + } } default: { config_file { "/etc/apt/sources.list": @@ -94,6 +102,18 @@ class apt { } } + apt_conf_snippet{ "02show_upgraded": + source => ["puppet:///modules/site-apt/${fqdn}/02show_upgraded", + "puppet:///modules/site-apt/02show_upgraded", + "puppet:///modules/apt/02show_upgraded"] + } + + apt_conf_snippet{ "03clean": + source => ["puppet:///modules/site-apt/${fqdn}/03clean", + "puppet:///modules/site-apt/03clean", + "puppet:///modules/apt/03clean"] + } + case $custom_preferences { false: { include apt::preferences::absent @@ -103,26 +123,14 @@ class apt { } } - config_file { '/etc/apt/apt.conf.d/99from_puppet': } - # little default settings which keep the system sane - append_if_no_such_line { 'apt-get-show-upgraded': - file => "/etc/apt/apt.conf.d/99from_puppet", - line => "APT::Get::Show-Upgraded true;", - before => Concatenated_file['/etc/apt/preferences'], - require => Config_file['/etc/apt/apt.conf.d/99from_puppet'], - } - append_if_no_such_line { 'dselect-clean': - file => "/etc/apt/apt.conf.d/99from_puppet", - line => "DSelect::Clean ${real_apt_clean};", - before => Concatenated_file['/etc/apt/preferences'], - require => Config_file['/etc/apt/apt.conf.d/99from_puppet'], - } # backward compatibility: upgrade from previous versions of this module. file { - "/etc/apt/apt.conf.d/from_puppet": + ["/etc/apt/apt.conf.d/from_puppet", + "/etc/apt/apt.conf.d/99from_puppet" + ]: ensure => 'absent', - require => [ Append_if_no_such_line['apt-get-show-upgraded'], - Append_if_no_such_line['dselect-clean'] + require => [ Apt_conf_snippet['02show_upgraded'], + Apt_conf_snippet['03clean'], ], } diff --git a/manifests/proxy-client.pp b/manifests/proxy-client.pp index ea0a29c..30bda8a 100644 --- a/manifests/proxy-client.pp +++ b/manifests/proxy-client.pp @@ -10,9 +10,7 @@ class apt::proxy-client { default => $apt_proxy_port } - file { "/etc/apt/apt.conf.d/20proxy": - ensure => present, - content => "Acquire::http { Proxy \"http://$real_apt_proxy:$real_apt_proxy_port\"; };\n", - owner => root, group => 0, mode => 0644; + apt_conf_snippet { "20proxy": + content => template("apt/20proxy.erb"), } } diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index e1080a0..6a0c685 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -4,14 +4,11 @@ class apt::unattended_upgrades { require => undef, } - config_file { - "/etc/apt/apt.conf.d/50unattended-upgrades": - source => ["puppet:///modules/site-apt/50unattended-upgrades", - "puppet:///modules/apt/50unattended-upgrades" ], + apt_conf_snippet { "50unattended-upgrades": + source => ["puppet:///modules/site-apt/50unattended-upgrades", + "puppet:///modules/apt/50unattended-upgrades" ], - # err: Could not run Puppet configuration client: Could not find dependent Config_file[apt_config] for Config_file[/etc/apt/apt.conf.d/50unattended-upgrades] at /etc/puppet/modules/apt/manifests/unattended_upgrades.pp:14 - - #before => Config_file[apt_config], + before => Concatenated_file[apt_config], require => Package['unattended-upgrades'], } } |