]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/debian-org/manifests/init.pp
Only mess with /etc/aliases if it already exists
[dsa-puppet.git] / modules / debian-org / manifests / init.pp
index 30998c35b35bf4928a1ebcf19a4c418156f57bd4..3f57de2ebaa006c701e19e5b3de91a1922d8eb99 100644 (file)
@@ -8,13 +8,27 @@ class debian-org {
                'paravoid@debian.org'
        ]
 
+       package { [
+                       'klogd',
+                       'sysklogd',
+                       'rsyslog',
+               ]:
+               ensure => purged,
+       }
+       package { [
+                       'debian.org',
+                       'dsa-munin-plugins',
+               ]:
+               ensure => installed,
+               require => [
+                       File['/etc/apt/sources.list.d/db.debian.org.list'],
+                       Exec['apt-get update']
+               ]
+       }
        package { [
                        'apt-utils',
                        'bash-completion',
-                       'debian.org',
                        'dnsutils',
-                       'dsa-munin-plugins',
-                       'klogd',
                        'less',
                        'lsb-release',
                        'libfilesystem-ruby1.8',
@@ -22,10 +36,8 @@ class debian-org {
                        'mtr-tiny',
                        'nload',
                        'pciutils',
-                       'rsyslog',
-                       'sysklogd',
                ]:
-                       ensure => installed,
+               ensure => installed,
        }
 
        munin::check { [
@@ -50,7 +62,11 @@ class debian-org {
 
        if getfromhash($site::nodeinfo, 'broken-rtc') {
                package { 'fake-hwclock':
-                       ensure => installed
+                       ensure => installed,
+                       require => [
+                               File['/etc/apt/sources.list.d/db.debian.org.list'],
+                               Exec['apt-get update']
+                       ]
                }
        }
 
@@ -58,22 +74,53 @@ class debian-org {
 
        if $::debarchitecture != 'armhf' {
                site::aptrepo { 'security':
-                       template => 'debian-org/etc/apt/sources.list.d/security.list.erb',
+                       url        => 'http://security.debian.org/',
+                       suite      => "${::lsbdistcodename}/updates",
+                       components => ['main','contrib','non-free']
                }
-               site::aptrepo { 'backports.org':
-                       template => 'debian-org/etc/apt/sources.list.d/backports.org.list.erb',
-                       key      => 'puppet:///modules/debian-org/backports.org.asc',
+
+               site::aptrepo { 'backports.debian.org':
+                       url        => 'http://backports.debian.org/debian-backports/',
+                       suite      => "${::lsbdistcodename}-backports",
+                       components => ['main','contrib','non-free']
                }
+
                site::aptrepo { 'volatile':
-                       template => 'debian-org/etc/apt/sources.list.d/volatile.list.erb',
+                       url        => 'http://ftp.debian.org/debian',
+                       suite      => "${::lsbdistcodename}-updates",
+                       components => ['main','contrib','non-free']
                }
        }
+       site::aptrepo { 'backports.org':
+               ensure => absent,
+               keyid => '16BA136C',
+               key => 'puppet:///modules/debian-org/backports.org.asc',
+       }
 
        site::aptrepo { 'debian.org':
-               template => 'debian-org/etc/apt/sources.list.d/debian.org.list.erb',
-               key      => 'puppet:///modules/debian-org/db.debian.org.asc',
+               ensure => absent,
+       }
+
+       site::aptrepo { 'db.debian.org':
+               url        => 'http://db.debian.org/debian-admin',
+               suite      => 'lenny',
+               components => 'main',
+               key        => 'puppet:///modules/debian-org/db.debian.org.asc',
        }
 
+       file { '/etc/facter':
+               ensure  => directory,
+               purge   => true,
+               force   => true,
+               recurse => true,
+               source  => 'puppet:///files/empty/',
+       }
+       file { '/etc/facter/facts.d':
+               ensure => directory,
+       }
+       file { '/etc/facter/facts.d/debian_facts.yaml':
+               content => template('debian-org/debian_facts.yaml.erb')
+       }
        file { '/etc/apt/preferences':
                source => 'puppet:///modules/debian-org/apt.preferences',
        }
@@ -112,6 +159,10 @@ class debian-org {
                require => Package['debian.org'],
                content => template('debian-org/pam.common-session.erb'),
        }
+       file { '/etc/pam.d/common-session-noninteractive':
+               require => Package['debian.org'],
+               content => template('debian-org/pam.common-session-noninteractive.erb'),
+       }
        file { '/etc/rc.local':
                mode   => '0755',
                source => 'puppet:///modules/debian-org/rc.local',
@@ -131,8 +182,8 @@ class debian-org {
                require => Package['debian.org']
        }
 
-  # set mmap_min_addr to 4096 to mitigate
-  # Linux NULL-pointer dereference exploits
+       # set mmap_min_addr to 4096 to mitigate
+       # Linux NULL-pointer dereference exploits
        site::sysctl { 'mmap_min_addr':
                key   => 'vm.mmap_min_addr',
                value => '4096',
@@ -140,15 +191,19 @@ class debian-org {
        site::alternative { 'editor':
                linkto => '/usr/bin/vim.basic',
        }
+       site::alternative { 'view':
+               linkto => '/usr/bin/vim.basic',
+       }
        mailalias { 'samhain-reports':
                ensure => present,
                recipient => $debianadmin,
+               onlyif  => "test -e /etc/aliases",
        }
 
        exec { 'apt-get update':
                path        => '/usr/bin:/usr/sbin:/bin:/sbin',
                refreshonly => true,
-       }-> Package <| |>
+       }
 
        exec { 'dpkg-reconfigure tzdata -pcritical -fnoninteractive':
                path        => '/usr/bin:/usr/sbin:/bin:/sbin',