diff options
Diffstat (limited to 'manifests')
| -rw-r--r-- | manifests/apt_conf_snippet.pp | 29 | ||||
| -rw-r--r-- | manifests/init.pp | 19 | ||||
| -rw-r--r-- | manifests/proxy-client.pp | 6 | ||||
| -rw-r--r-- | manifests/unattended_upgrades.pp | 11 | 
4 files changed, 48 insertions, 17 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/init.pp b/manifests/init.pp index 145bba6..0e4bd5c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -23,7 +23,8 @@ class apt {      '': {        config_file {          # include main, security and backports -        # additional sources could be included via an array +        # 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']; @@ -37,11 +38,17 @@ class apt {      }    } -  config_file { -    # little default settings which keep the system sane -    "/etc/apt/apt.conf.d/from_puppet": -      content => "APT::Get::Show-Upgraded true;\nDSelect::Clean $real_apt_clean;\n", -      before => Concatenated_file['/etc/apt/preferences']; +  # 01autoremove already present by default +  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 { 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'],    }  } | 
