X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fdebian-org%2Fmanifests%2Finit.pp;h=1c42d5f59cea63ca311f16501b66ed7b19ce94bc;hb=f78c0ac2fb83426730fb99117f7656349f9cbbcc;hp=30998c35b35bf4928a1ebcf19a4c418156f57bd4;hpb=3eb533e5499e66423bafdedaf6c7d08ead1772de;p=dsa-puppet.git diff --git a/modules/debian-org/manifests/init.pp b/modules/debian-org/manifests/init.pp index 30998c35..1c42d5f5 100644 --- a/modules/debian-org/manifests/init.pp +++ b/modules/debian-org/manifests/init.pp @@ -8,24 +8,39 @@ class debian-org { 'paravoid@debian.org' ] + package { [ + 'klogd', + 'sysklogd', + 'rsyslog', + ]: + ensure => purged, + } + package { [ + 'debian.org', + 'dsa-munin-plugins', + ]: + ensure => installed, + tag => extra_repo, + } + package { [ 'apt-utils', 'bash-completion', - 'debian.org', 'dnsutils', - 'dsa-munin-plugins', - 'klogd', 'less', 'lsb-release', 'libfilesystem-ruby1.8', - 'molly-guard', 'mtr-tiny', 'nload', 'pciutils', - 'rsyslog', - 'sysklogd', ]: + ensure => installed, + } + + if $::lsbmajdistrelease >= 7 { + package { 'libfilesystem-ruby1.9': ensure => installed, + } } munin::check { [ @@ -50,30 +65,90 @@ class debian-org { if getfromhash($site::nodeinfo, 'broken-rtc') { package { 'fake-hwclock': - ensure => installed + ensure => installed, + tag => extra_repo, } } - # This really means 'not wheezy' + package { 'molly-guard': + ensure => installed, + } + file { '/etc/molly-guard/run.d/10-check-kvm': + mode => '0755', + source => 'puppet:///modules/debian-org/molly-guard/10-check-kvm', + require => Package['molly-guard'], + } + file { '/etc/molly-guard/run.d/15-acquire-reboot-lock': + mode => '0755', + source => 'puppet:///modules/debian-org/molly-guard/15-acquire-reboot-lock', + require => Package['molly-guard'], + } - if $::debarchitecture != 'armhf' { - site::aptrepo { 'security': - template => 'debian-org/etc/apt/sources.list.d/security.list.erb', - } - 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 { 'security': + url => 'http://security.debian.org/', + suite => "${::lsbdistcodename}/updates", + components => ['main','contrib','non-free'] + } + + if $::lsbdistcodename != 'wheezy' { + 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', + + if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') { + site::aptrepo { 'volatile': + url => getfromhash($site::nodeinfo, 'hoster', 'mirror-debian'), + suite => "${::lsbdistcodename}-updates", + components => ['main','contrib','non-free'] + } + } else { + site::aptrepo { 'volatile': + 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', + } + + if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') { + site::aptrepo { 'debian': + url => getfromhash($site::nodeinfo, 'hoster', 'mirror-debian'), + suite => $::lsbdistcodename, + components => ['main','contrib','non-free'] + } + } + + 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', } @@ -94,8 +169,12 @@ class debian-org { source => 'puppet:///modules/debian-org/timezone', notify => Exec['dpkg-reconfigure tzdata -pcritical -fnoninteractive'], } + if $::hostname == handel { + include puppetmaster::db + $dbpassword = $puppetmaster::db::password + } file { '/etc/puppet/puppet.conf': - source => 'puppet:///modules/debian-org/puppet.conf', + content => template('debian-org/puppet.conf.erb'), } file { '/etc/default/puppet': source => 'puppet:///modules/debian-org/puppet.default', @@ -112,16 +191,15 @@ 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', notify => Exec['rc.local start'], } - file { '/etc/molly-guard/run.d/15-acquire-reboot-lock': - mode => '0755', - source => 'puppet:///modules/debian-org/molly-guard-acquire-reboot-lock', - require => Package['molly-guard'], - } file { '/etc/dsa': ensure => directory, mode => '0755', @@ -131,8 +209,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 +218,20 @@ 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, + require => Package['debian.org'] } exec { 'apt-get update': path => '/usr/bin:/usr/sbin:/bin:/sbin', refreshonly => true, - }-> Package <| |> + } + Exec['apt-get update']->Package<| tag == extra_repo |> exec { 'dpkg-reconfigure tzdata -pcritical -fnoninteractive': path => '/usr/bin:/usr/sbin:/bin:/sbin',