aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2010-10-06 14:06:50 +0200
committerintrigeri <intrigeri@boum.org>2010-10-06 14:06:50 +0200
commit208e60b86485fca9bd7e7c5b65dd11d61ec14107 (patch)
tree4c35afb34776c4dc4413b46de4b670dacf25ebe2
parentfab154da39fc3f68e66b8d36f44457533e53dac1 (diff)
downloadpuppet-apt-208e60b86485fca9bd7e7c5b65dd11d61ec14107.tar.gz
puppet-apt-208e60b86485fca9bd7e7c5b65dd11d61ec14107.tar.bz2
Add cron-apt support.
-rw-r--r--README17
-rw-r--r--manifests/cron/base.pp3
-rw-r--r--manifests/cron/dist-upgrade.pp21
-rw-r--r--manifests/cron/download.pp21
4 files changed, 60 insertions, 2 deletions
diff --git a/README b/README
index 133ad22..7b961b6 100644
--- a/README
+++ b/README
@@ -110,9 +110,22 @@ the Debian official backports and the Debian Volatile archive.
Classes
=======
-This module contains only the apt class, which sets up all described
-functionality.
+apt
+---
+The apt class sets up all documented functionality but cron-apt.
+
+apt::cron::download
+-------------------
+
+This class sets up cron-apt so that it downloads upgradable packages,
+does not actually do any upgrade and email when the output changes.
+
+apt::cron::dist-upgrade
+-----------------------
+
+This class sets up cron-apt so that it dist-upgrades the system and
+email when upgrades are performed.
Resources
=========
diff --git a/manifests/cron/base.pp b/manifests/cron/base.pp
new file mode 100644
index 0000000..2cfbefb
--- /dev/null
+++ b/manifests/cron/base.pp
@@ -0,0 +1,3 @@
+class apt::cron::base {
+ package { cron-apt: ensure => installed }
+}
diff --git a/manifests/cron/dist-upgrade.pp b/manifests/cron/dist-upgrade.pp
new file mode 100644
index 0000000..38c1711
--- /dev/null
+++ b/manifests/cron/dist-upgrade.pp
@@ -0,0 +1,21 @@
+class apt::cron::dist-upgrade inherits cron-apt::base {
+
+ $action = "autoclean -y
+dist-upgrade -y -o APT::Get::Show-Upgraded=true
+"
+
+ file { "/etc/cron-apt/action.d/3-download":
+ ensure => absent,
+ }
+
+ config_file { "/etc/cron-apt/action.d/4-dist-upgrade":
+ content => $action,
+ require => Package[cron-apt]
+ }
+
+ config_file { "/etc/cron-apt/config.d/MAILON":
+ content => "MAILON=upgrade\n",
+ require => Package[cron-apt]
+ }
+
+}
diff --git a/manifests/cron/download.pp b/manifests/cron/download.pp
new file mode 100644
index 0000000..58476b7
--- /dev/null
+++ b/manifests/cron/download.pp
@@ -0,0 +1,21 @@
+class apt::cron::download inherits cron-apt::base {
+
+ $action = "autoclean -y
+dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
+"
+
+ file { "/etc/cron-apt/action.d/4-dist-upgrade":
+ ensure => absent,
+ }
+
+ config_file { "/etc/cron-apt/action.d/3-download":
+ content => $action,
+ require => Package[cron-apt]
+ }
+
+ config_file { "/etc/cron-apt/config.d/MAILON":
+ content => "MAILON=changes\n",
+ require => Package[cron-apt]
+ }
+
+}