-class debian-org {
- package { "userdir-ldap": ensure => installed;
- "zsh": ensure => installed;
- "cron": ensure => installed;
- "apt-utils": ensure => installed;
- "tcsh": ensure => installed;
- "pdksh": ensure => installed;
- "ksh": ensure => installed;
- "csh": ensure => installed;
- "ntp": ensure => installed;
- "locales-all": ensure => installed;
- "libpam-pwdfile": ensure => installed;
- "vim": ensure => installed;
- "gnupg": ensure => installed;
- "bzip2": ensure => installed;
- "less": ensure => installed;
- "ed": ensure => installed;
- "puppet": ensure => installed;
- "mtr-tiny": ensure => installed;
- "nload": ensure => installed;
- "pciutils": ensure => installed;
- "dnsutils": ensure => installed;
- "bash-completion": ensure => installed;
- "libfilesystem-ruby1.8": ensure => installed;
- "syslog-ng": ensure => installed;
- "sysklogd": ensure => purged;
- "klogd": ensure => purged;
- "rsyslog": ensure => purged;
- }
- file {
- "/etc/apt/preferences":
- source => "puppet:///files/etc/apt/preferences";
- "/etc/apt/sources.list.d/backports.org.list":
- source => "puppet:///files/etc/apt/sources.list.d/backports.org.list",
- notify => Exec["apt-get update"];
- "/etc/apt/sources.list.d/debian.org.list":
- source => "puppet:///files/etc/apt/sources.list.d/debian.org.list",
- notify => Exec["apt-get update"];
- "/etc/apt/sources.list.d/security.list":
- source => "puppet:///files/etc/apt/sources.list.d/security.list",
- notify => Exec["apt-get update"];
- "/etc/apt/sources.list.d/volatile.list":
- source => "puppet:///files/etc/apt/sources.list.d/volatile.list",
- notify => Exec["apt-get update"];
- "/etc/apt/apt.conf.d/local-recommends":
- source => "puppet:///files/etc/apt/apt.conf.d/local-recommends";
- "/etc/apt/apt.conf.d/local-pdiffs":
- source => "puppet:///files/etc/apt/apt.conf.d/local-pdiffs";
- "/etc/timezone":
- source => "puppet:///files/etc/timezone",
- notify => Exec["dpkg-reconfigure tzdata -pcritical -fnoninteractive"];
- "/etc/puppet/puppet.conf":
- source => "puppet:///files/etc/puppet/puppet.conf",
- notify => Exec["puppet reload"];
- "/etc/default/puppet":
- source => "puppet:///files/etc/default/puppet",
- require => Exec["puppet stop"];
+define sysctl($key, $value, $ensure=present) {
+ file {
+ "/etc/sysctl.d/$name.conf":
+ ensure => $ensure,
+ owner => root,
+ group => root,
+ mode => 0644,
+ content => "$key = $value\n",
+ notify => Exec["procps restart"],
+ }
+}
+
+define set_alternatives($linkto) {
+ exec {
+ "/usr/sbin/update-alternatives --set $name $linkto":
+ unless => "/bin/sh -c '! [ -e $linkto ] || ! [ -e /etc/alternatives/$name ] || ([ -L /etc/alternatives/$name ] && [ /etc/alternatives/$name -ef $linkto ])'"
+ }
+}
+
+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}")
+ }
+ }
+}