}
}
+define linux_module ($ensure) {
+ case $ensure {
+ present: {
+ exec { "append_module_${name}":
+ command => "echo '${name}' >> /etc/modules",
+ unless => "grep -q -F -x '${name}' /etc/modules",
+ }
+ }
+ absent: {
+ exec { "remove_module_${name}":
+ command => "sed -i -e'/^${name}\$/d' /etc/modules",
+ onlyif => "grep -q -F -x '${name}' /etc/modules",
+ }
+ }
+ default: {
+ err("invalid ensure value ${ensure}")
+ }
+ }
+}
+
class debian-org {
+ $debianadmin = [ "debian-archive-debian-samhain-reports@master.debian.org", "debian-admin@ftbfs.de", "weasel@debian.org", "steve@lobefin.net" ]
package {
"apt-utils": ensure => installed;
"bash-completion": ensure => installed;
- "bzip2": ensure => installed;
- "cron": ensure => installed;
- "csh": ensure => installed;
+ "debian.org": ensure => installed;
"dnsutils": ensure => installed;
"dsa-munin-plugins": ensure => installed;
- "ed": ensure => installed;
- "gnupg": ensure => installed;
"klogd": ensure => purged;
- "ksh": ensure => installed;
"less": ensure => installed;
"libfilesystem-ruby1.8": ensure => installed;
- "libpam-pwdfile": ensure => installed;
- "locales-all": ensure => installed;
"mtr-tiny": ensure => installed;
"nload": ensure => installed;
"pciutils": ensure => installed;
- "pdksh": ensure => installed;
"rsyslog": ensure => purged;
"sysklogd": ensure => purged;
- "syslog-ng": ensure => installed;
- "tcsh": ensure => installed;
- "userdir-ldap": ensure => installed;
- "vim": ensure => installed;
- "zsh": ensure => installed;
- "logrotate": ensure => installed;
}
file {
"/etc/apt/preferences":
"/etc/cron.d/dsa-puppet-stuff":
source => "puppet:///modules/debian-org/dsa-puppet-stuff.cron",
- require => Package["cron"]
+ require => Package["debian.org"]
;
"/etc/ldap/ldap.conf":
- require => Package["userdir-ldap"],
+ require => Package["debian.org"],
source => "puppet:///modules/debian-org/ldap.conf",
;
"/etc/pam.d/common-session":
- require => Package["libpam-pwdfile"],
+ require => Package["debian.org"],
content => template("debian-org/pam.common-session.erb"),
;
"/etc/rc.local":
source => "puppet:///modules/debian-org/rc.local",
notify => Exec["rc.local start"],
;
+
+ "/etc/dsa":
+ mode => 0755,
+ ensure => directory,
+ ;
+ "/etc/dsa/cron.ignore.dsa-puppet-stuff":
+ source => "puppet:///modules/debian-org/dsa-puppet-stuff.cron.ignore",
+ require => Package["debian.org"]
+ ;
}
# set mmap_min_addr to 4096 to mitigate
linkto => "/usr/bin/vim.basic",
}
+ mailalias {
+ "samhain-reports":
+ recipient => $debianadmin,
+ ensure => present;
+ }
+
exec {
"dpkg-reconfigure tzdata -pcritical -fnoninteractive":
path => "/usr/bin:/usr/sbin:/bin:/sbin",