Variables
=========
- $lsbdistcodename
- ----------------
++$apt_disable_update
++-------------------
+
- Contains the codename ("etch", "lenny", ...) of the client's
- release. While these values come from lsb-release by default, this
- value can be set manually too, e.g. to enable forced upgrades.
++Disable "apt-get update" which is normally triggered by apt::upgrade_package
++and apt::dist_upgrade.
++Note that nodes can be updated once a day by using
++ APT::Periodic::Update-Package-Lists "1";
++in i.e. /etc/apt/apt.conf.d/80_apt_update_daily.
+
$custom_sources_list
--------------------
available source amongst the following ones, in decreasing priority
order:
- - puppet:///modules/site_apt/${fqdn}/upgrade_initiator
-- puppet:///site_apt/${::fqdn}/upgrade_initiator
-- puppet:///site_apt/upgrade_initiator
-- puppet:///apt/upgrade_initiator
++- puppet:///modules/site_apt/${::fqdn}/upgrade_initiator
+- puppet:///modules/site_apt/upgrade_initiator
+- puppet:///modules/apt/upgrade_initiator
This is useful when one does not want to setup a fully automated
upgrade process but still needs a way to manually trigger full
apt::listchanges
----------------
- This class, when included, installs apt-listchanges and configures it using the
- following variables, the defaults are below:
+ This class, when instantiated, installs apt-listchanges and configures it using
+ the following parameterized variables, which can be changed:
- $apt_listchanges_version = 'present'
- $apt_listchanges_config = "apt/${operatingsystem}/listchanges_${lsbrelease}.erb"
- $apt_listchanges_frontend = 'pager'
- $apt_listchanges_email = 'root'
- $apt_listchanges_confirm = 0
- $apt_listchanges_saveseen = '/var/lib/apt/listchanges.db'
- $apt_listchanges_which = 'both'
+ version = "present"
+ config = "apt/${::operatingsystem}/listchanges_${::lsbrelease}.erb"
- frontend = "pager"
- email = "root"
- confirm = "0"
- saveseen = "/var/lib/apt/listchanges.db"
- which = "both"
++ frontend = 'pager'
++ email = 'root'
++ confirm = 0
++ saveseen = '/var/lib/apt/listchanges.db'
++ which = 'both'
+ Example usage:
+ class { 'apt::listchanges': email => "foo@example.com" }
+
apt::proxy_client
-----------------
# Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
# See LICENSE for the full license granted to you.
- class apt {
-
- $use_volatile = $apt_volatile_enabled ? {
- '' => false,
- default => $apt_volatile_enabled,
- }
-
- $include_src = $apt_include_src ? {
- '' => false,
- default => $apt_include_src,
- }
-
- $use_next_release = $apt_use_next_release ? {
- '' => false,
- default => $apt_use_next_release,
- }
-
- $debian_url = $apt_debian_url ? {
- '' => 'http://http.debian.net/debian/',
- default => "${apt_debian_url}",
- }
- $security_url = $apt_security_url ? {
- '' => 'http://security.debian.org/',
- default => "${apt_security_url}",
- }
- $backports_url = $apt_backports_url ? {
- '' => 'http://backports.debian.org/debian-backports/',
- default => "${apt_backports_url}",
- }
- $volatile_url = $apt_volatile_url ? {
- '' => 'http://volatile.debian.org/debian-volatile/',
- default => "${apt_volatile_url}",
- }
- $ubuntu_url = $apt_ubuntu_url ? {
- '' => 'http://archive.ubuntu.com/ubuntu',
- default => "${apt_ubuntu_url}",
- }
- $disable_update = $apt_disable_update ? {
- '' => false,
- default => $apt_disable_update
- }
-
- case $operatingsystem {
+ class apt(
+ $codename = '',
+ $use_volatile = false,
+ $include_src = false,
+ $use_next_release = false,
- $debian_url = 'http://cdn.debian.net/debian/',
++ $debian_url = 'http://http.debian.net/debian/',
+ $security_url = 'http://security.debian.org/',
+ $backports_url = 'http://backports.debian.org/debian-backports/',
+ $volatile_url = 'http://volatile.debian.org/debian-volatile/',
+ $ubuntu_url = 'http://archive.ubuntu.com/ubuntu',
+ $repos = 'auto',
- $custom_preferences = ''
++ $custom_preferences = '',
++ $disable_update = false
+ ){
+ case $::operatingsystem {
'debian': {
- $repos = $apt_repos ? {
- '' => 'main contrib non-free',
- default => "${apt_repos}",
+ $real_repos = $repos ? {
+ 'auto' => 'main contrib non-free',
+ default => $repos,
}
}
'ubuntu': {
include lsb
# init $release, $next_release, $codename, $next_codename, $release_version
- case $lsbdistcodename {
+ case $codename {
'': {
- $codename = $lsbdistcodename
- $release = $lsbdistrelease
+ $codename = $::lsbdistcodename
+ $release = $::lsbdistrelease
}
- }
+ 'n/a': {
+ fail("Unknown lsbdistcodename reported by facter: '$lsbdistcodename', please fix this by setting this variable in your manifest.")
++ }
default: {
- $codename = $lsbdistcodename
$release = debian_release($codename)
}
}
# additional sources should be included via the apt::sources_list define
"/etc/apt/sources.list":
content => $custom_sources_list ? {
- '' => template( "apt/$operatingsystem/sources.list.erb"),
+ '' => template( "apt/${::operatingsystem}/sources.list.erb"),
default => $custom_sources_list
},
+ mode => 0644, owner => root, group => 0,
require => Package['lsb'],
notify => Exec['refresh_apt'],
+ owner => root, group => 0, mode => 0644;
}
apt_conf { "02show_upgraded":
class apt::preferences {
- concat::fragment{"apt_preferences_header":
- content => $apt::custom_preferences ? {
- '' => $::operatingsystem ? {
- 'debian' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"),
- 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"),
- },
- default => $custom_preferences
+ $pref_contents = $custom_preferences ? {
+ '' => $operatingsystem ? {
- 'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"),
- 'ubuntu' => template("apt/${operatingsystem}/preferences_${codename}.erb"),
++ 'debian' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"),
++ 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"),
},
- order => 00,
- target => '/etc/apt/preferences',
+ default => $custom_preferences
}
- concat{'/etc/apt/preferences':
- alias => apt_config,
+ file { '/etc/apt/preferences':
+ ensure => present,
+ alias => 'apt_config',
# only update together
+ content => $pref_contents,
require => File["/etc/apt/sources.list"],
owner => root, group => 0, mode => 0644;
}