Add upgrade notices about the changes to parameterized classes; add a Requirements header; move things that used to be called variables into the appropriate parameterized class section
This commit is contained in:
parent
b528cd0005
commit
460c1d54d1
1 changed files with 174 additions and 104 deletions
278
README
278
README
|
@ -15,6 +15,67 @@ prevent accidental upgrades.
|
|||
|
||||
Ubuntu support is lagging behind but not absent either.
|
||||
|
||||
! Upgrade Notice !
|
||||
|
||||
* the apt class has been moved to a paramterized class. if you were including
|
||||
this class before, after passing some variables, you will need to move to
|
||||
instantiating the class with those variables instead. For example, if you
|
||||
had the following in your manifests:
|
||||
|
||||
$apt_debian_url = "http://localhost:9999/debian/"
|
||||
$apt_use_next_release = true
|
||||
include apt
|
||||
|
||||
you will need to remove the variables, and the include and instead do
|
||||
the following:
|
||||
|
||||
class { 'apt': debian_url => "http://localhost:9999/debian/", use_next_release => true }
|
||||
|
||||
* the apticron class has been moved to a parameterized class. if you were
|
||||
including this class before, you will need to move to instantiating the
|
||||
class instead. For example, if you had the following in your manifests:
|
||||
|
||||
$apticron_email = "foo@example.com"
|
||||
$apticron_notifynew = "1"
|
||||
... any $apticron_* variables
|
||||
include apticron
|
||||
|
||||
you will need to remove the variables, and the include and instead do the
|
||||
following:
|
||||
|
||||
class { 'apt::apticron': email => "foo@example.com", notifynew => '1' }
|
||||
|
||||
* the apt::listchanges class has been moved to a paramterized class. if you
|
||||
were including this class before, after passing some variables, you will need
|
||||
to move to instantiating the class with those variables instead. For example,
|
||||
if you had the following in your manifests:
|
||||
|
||||
$apt_listchanges_email = "foo@example.com"
|
||||
... any $apt_listchanges_* variables
|
||||
include apt::listchanges
|
||||
|
||||
you will need to remove the variables, and the include and instead do the
|
||||
following:
|
||||
|
||||
class { 'apt::listchanges': email => "foo@example.com" }
|
||||
|
||||
* the apt::proxy_client class has been moved to a paramterized class. if you
|
||||
were including this class before, after passing some variables, you will need
|
||||
to move to instantiating the class with those variables instead. For example,
|
||||
if you had the following in your manifests:
|
||||
|
||||
$apt_proxy = 'http://proxy.domain'
|
||||
$apt_proxy_port = 666
|
||||
include apt::proxy_client
|
||||
|
||||
you will need to remove the variables, and the include and instead do the
|
||||
following:
|
||||
|
||||
class { 'apt::proxy_client': proxy => 'http://proxy.domain', port => '666' }
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
This module needs:
|
||||
|
||||
- the lsb module: git://labs.riseup.net/shared-lsb
|
||||
|
@ -65,26 +126,6 @@ pull in the templates/site_apt/sources.list file:
|
|||
|
||||
$custom_sources_list = template("site_apt/sources.list")
|
||||
|
||||
$custom_preferences
|
||||
-------------------
|
||||
|
||||
Since Debian Lenny's version of APT doesn't support the use of the
|
||||
preferences.d directory for putting fragments of 'preferences', this
|
||||
module will manage a default generic apt/preferences file with more
|
||||
recent releases pinned to very low values so that any package
|
||||
installation will not accidentally pull in packages from those suites
|
||||
unless you explicitly specify the version number. This file will be
|
||||
complemented with all of the preferences_snippet calls (see below).
|
||||
|
||||
If the default preferences template doesn't suit your needs, you can create a
|
||||
template located in your site_apt module, and set $custom_preferences with the
|
||||
content (eg. $custom_preferences = template('site_apt/preferences') )
|
||||
|
||||
Setting this variable to false before including this class will force the
|
||||
apt/preferences file to be absent:
|
||||
|
||||
$custom_preferences = false
|
||||
|
||||
$custom_key_dir
|
||||
---------------
|
||||
|
||||
|
@ -96,64 +137,6 @@ exist there, this module will 'apt-key add' each key.
|
|||
The debian-archive-keyring package is installed and kept current up to the
|
||||
latest revision (this includes the backports archive keyring).
|
||||
|
||||
$apt_proxy / $apt_proxy_port
|
||||
----------------------------
|
||||
|
||||
When you include the apt::proxy_client class in your nodes, you can set the
|
||||
$apt_proxy variable to the URL of the proxy that will be used.
|
||||
By default, the proxy will be queried on port 3142, but you can change the port
|
||||
number by setting the $apt_proxy_port variable.
|
||||
|
||||
Here's an example of setting the proxy to 'http://proxy.domain' at port 666:
|
||||
|
||||
$apt_proxy = 'http://proxy.domain'
|
||||
$apt_proxy_port = 666
|
||||
include apt::proxy_client
|
||||
|
||||
$apt_volatile_enabled
|
||||
-----------------
|
||||
|
||||
If this variable is set to true the Debian Volatile sources (until
|
||||
Lenny) or CODENAME-updates (such as squeeze-updates, supported since
|
||||
Squeeze) are added.
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
$apt_include_src
|
||||
----------------
|
||||
|
||||
If this variable is set to true a deb-src source is added for every
|
||||
added binary archive source.
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
$apt_use_next_release
|
||||
---------------------
|
||||
|
||||
If this variable is set to true the sources for the next Debian
|
||||
release are added. The default pinning configuration pins it to very
|
||||
low values.
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
$apt_debian_url, $apt_security_url, $apt_backports_url, $apt_volatile_url
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
These variables allow to override the default APT mirrors respectively
|
||||
used for the standard Debian archives, the Debian security archive,
|
||||
the Debian official backports and the Debian Volatile archive.
|
||||
|
||||
$apt_ubuntu_url
|
||||
---------------
|
||||
|
||||
These variables allows to override the default APT mirror used for all
|
||||
standard Ubuntu archives (including updates, security, backports).
|
||||
|
||||
$apt_repos
|
||||
----------
|
||||
|
||||
If this variable is set the default repositories list ("main contrib non-free")
|
||||
is overriden.
|
||||
|
||||
Classes
|
||||
=======
|
||||
|
@ -161,27 +144,103 @@ Classes
|
|||
apt
|
||||
---
|
||||
|
||||
The apt class sets up most of the documented functionality. To use
|
||||
functionality that is not enabled by default, you must include one of
|
||||
the following classes.
|
||||
The apt class sets up most of the documented functionality. To use functionality
|
||||
that is not enabled by default, you must set one of the following parameters.
|
||||
|
||||
Example usage:
|
||||
|
||||
class { 'apt': use_next_release => true, debian_url => 'http://localhost:9999/debian/" }
|
||||
|
||||
volatile_enabled
|
||||
-----------------
|
||||
|
||||
If this variable is set to true the Debian Volatile sources (until
|
||||
Lenny) or CODENAME-updates (such as squeeze-updates, supported since
|
||||
Squeeze) are added.
|
||||
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
include_src
|
||||
------------
|
||||
|
||||
If this variable is set to true a deb-src source is added for every
|
||||
added binary archive source.
|
||||
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
use_next_release
|
||||
-----------------
|
||||
|
||||
If this variable is set to true the sources for the next Debian
|
||||
release are added. The default pinning configuration pins it to very
|
||||
low values.
|
||||
|
||||
By default this is false for backward compatibility with older
|
||||
versions of this module.
|
||||
|
||||
debian_url, security_url, backports_url, volatile_url
|
||||
------------------------------------------------------
|
||||
|
||||
These variables allow to override the default APT mirrors respectively
|
||||
used for the standard Debian archives, the Debian security archive,
|
||||
the Debian official backports and the Debian Volatile archive.
|
||||
|
||||
apt_ubuntu_url
|
||||
---------------
|
||||
|
||||
These variables allows to override the default APT mirror used for all
|
||||
standard Ubuntu archives (including updates, security, backports).
|
||||
|
||||
apt_repos
|
||||
----------
|
||||
|
||||
If this variable is set the default repositories list ("main contrib non-free")
|
||||
is overriden.
|
||||
|
||||
custom_preferences
|
||||
-------------------
|
||||
|
||||
Since Debian Lenny's version of APT doesn't support the use of the
|
||||
preferences.d directory for putting fragments of 'preferences', this
|
||||
module will manage a default generic apt/preferences file with more
|
||||
recent releases pinned to very low values so that any package
|
||||
installation will not accidentally pull in packages from those suites
|
||||
unless you explicitly specify the version number. This file will be
|
||||
complemented with all of the preferences_snippet calls (see below).
|
||||
|
||||
If the default preferences template doesn't suit your needs, you can create a
|
||||
template located in your site_apt module, and set custom_preferences with the
|
||||
content (eg. custom_preferences => template('site_apt/preferences') )
|
||||
|
||||
Setting this variable to false before including this class will force the
|
||||
apt/preferences file to be absent:
|
||||
|
||||
class { 'apt': custom_preferences => false }
|
||||
|
||||
|
||||
apt::apticron
|
||||
-------------
|
||||
|
||||
When you include this class, apticron will be installed, with the following
|
||||
defaults, which you are free to change before you include the class:
|
||||
When you instantiate this class, apticron will be installed, with the following
|
||||
defaults, which you are free to change:
|
||||
|
||||
$apticron_ensure_version = "present"
|
||||
$apticron_email = "root"
|
||||
$apticron_config = "apt/${::operatingsystem}/apticron_${::lsbrelease}.erb"
|
||||
$apticron_diff_only = "1"
|
||||
$apticron_listchanges_profile = "apticron"
|
||||
$apticron_system = false
|
||||
$apticron_ipaddressnum = false
|
||||
$apticron_ipaddresses = false
|
||||
$apticron_notifyholds = "0"
|
||||
$apticron_notifynew = "0"
|
||||
$apticron_customsubject = ""
|
||||
$ensure_version = 'installed',
|
||||
$config = "apt/${::operatingsystem}/apticron_${::lsbdistcodename}.erb",
|
||||
$email = 'root',
|
||||
$diff_only = '1',
|
||||
$listchanges_profile = 'apticron',
|
||||
$system = false,
|
||||
$ipaddressnum = false,
|
||||
$ipaddresses = false,
|
||||
$notifyholds = '0',
|
||||
$notifynew = '0',
|
||||
$customsubject = ''
|
||||
|
||||
Example usage:
|
||||
|
||||
class { 'apt::apticron': email => "foo@example.com", notifynew => '1' }
|
||||
|
||||
apt::cron::download
|
||||
-------------------
|
||||
|
@ -254,22 +313,33 @@ suppress superfluous help screens.
|
|||
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"
|
||||
|
||||
Example usage:
|
||||
class { 'apt::listchanges': email => "foo@example.com" }
|
||||
|
||||
apt::proxy_client
|
||||
-----------------
|
||||
|
||||
This class adds the right configuration to apt to make it fetch packages via a
|
||||
proxy. The variables $apt_proxy and $apt_proxy_port need to be set (see above).
|
||||
proxy. The class parameters apt_proxy and apt_proxy_port need to be set:
|
||||
|
||||
You can set the 'proxy' class parameter variable to the URL of the proxy that
|
||||
will be used. By default, the proxy will be queried on port 3142, but you can
|
||||
change the port number by setting the 'port' class parameter.
|
||||
|
||||
Example:
|
||||
|
||||
class { 'apt::proxy_client': proxy => 'http://proxy.domain', port => '666' }
|
||||
|
||||
apt::reboot_required_notify
|
||||
---------------------------
|
||||
|
|
Loading…
Reference in a new issue