X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fdebian-org%2Fmanifests%2Finit.pp;h=910dbfdbadb1b06919808279cd749f52d552aa5e;hb=6c01d70e4dd81a7a9dd5445c3faf9b3f1708627f;hp=ff5d0fe027dbc057284cf6d4b098b0edc1b63f12;hpb=2cbbbdebf1a85a7119acd62fc8babfa6bb5f041b;p=dsa-puppet.git diff --git a/modules/debian-org/manifests/init.pp b/modules/debian-org/manifests/init.pp index ff5d0fe0..910dbfdb 100644 --- a/modules/debian-org/manifests/init.pp +++ b/modules/debian-org/manifests/init.pp @@ -1,3 +1,7 @@ +# == Class: debian-org +# +# Stuff common to all debian.org servers +# class debian-org { if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') { $mirror = getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') @@ -23,6 +27,8 @@ class debian-org { 'klogd', 'sysklogd', 'rsyslog', + 'os-prober', + 'apt-listchanges', ]: ensure => purged, } @@ -33,6 +39,12 @@ class debian-org { ensure => installed, tag => extra_repo, } + file { '/etc/ssh/ssh_known_hosts': + ensure => present, + replace => false, + mode => '0644', + source => 'puppet:///modules/debian-org/basic-ssh_known_hosts' + } package { [ 'apt-utils', @@ -48,10 +60,14 @@ class debian-org { ensure => installed, } - if $::lsbmajdistrelease >= 7 { + if $::lsbmajdistrelease == 7 { package { 'libfilesystem-ruby1.9.1': ensure => installed, } + } elsif $::lsbmajdistrelease >= 8 { + package { 'ruby-filesystem': + ensure => installed, + } } munin::check { [ @@ -95,22 +111,38 @@ class debian-org { require => Package['molly-guard'], } + file { '/etc/apt/trusted-keys.d': + ensure => absent, + force => true, + } + + file { '/etc/apt/trusted.gpg': + mode => '0600', + content => "", + } + site::aptrepo { 'security': url => 'http://security.debian.org/', suite => "${::lsbdistcodename}/updates", components => ['main','contrib','non-free'] } + if $::lsbmajdistrelease < 7 { + site::aptrepo { 'debian-lts': + url => $mirror, + suite => "${::lsbdistcodename}-lts", + components => ['main','contrib','non-free'] + } + } else { + site::aptrepo { 'debian-lts': + ensure => absent, + } + } site::aptrepo { 'backports.debian.org': url => $mirror_backports, suite => "${::lsbdistcodename}-backports", components => ['main','contrib','non-free'] } - site::aptrepo { 'backports.org': - ensure => absent, - keyid => '16BA136C', - key => 'puppet:///modules/debian-org/backports.org.asc', - } site::aptrepo { 'volatile': url => $mirror, @@ -118,13 +150,18 @@ class debian-org { components => ['main','contrib','non-free'] } - if $::hostname in [ball, corelli, eysler, lucatelli, mayer, mayr, rem] { + #if ($::hostname in [ball, corelli, eysler, lucatelli, mayer, mayr, pettersson]) or + # ($::hoster and ($::hoster in [bytemark, man-da, brown])) { + # site::aptrepo { 'proposed-updates': + # url => $mirror, + # suite => "${::lsbdistcodename}-proposed-updates", + # components => ['main','contrib','non-free'] + # } + #} else { site::aptrepo { 'proposed-updates': - url => $mirror, - suite => "${::lsbdistcodename}-proposed-updates", - components => ['main','contrib','non-free'] + ensure => absent, } - } + #} site::aptrepo { 'debian.org': ensure => absent, @@ -132,9 +169,24 @@ class debian-org { site::aptrepo { 'db.debian.org': url => 'http://db.debian.org/debian-admin', - suite => 'lenny', + suite => 'debian-all', + components => 'main', + key => 'puppet:///modules/debian-org/db.debian.org.gpg', + } + site::aptrepo { 'db.debian.org-suite': + url => 'http://db.debian.org/debian-admin', + suite => $::lsbdistcodename, components => 'main', - key => 'puppet:///modules/debian-org/db.debian.org.asc', + } + + augeas { 'inittab_replicate': + context => '/files/etc/inittab', + changes => [ + 'set ud/runlevels 2345', + 'set ud/action respawn', + 'set ud/process "/usr/bin/ud-replicated -d"', + ], + notify => Exec['init q'], } if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') { @@ -161,10 +213,6 @@ class debian-org { file { '/etc/apt/preferences': source => 'puppet:///modules/debian-org/apt.preferences', } - file { '/etc/apt/trusted-keys.d/': - ensure => directory, - purge => true, - } file { '/etc/apt/apt.conf.d/local-compression': source => 'puppet:///modules/debian-org/apt.conf.d/local-compression', } @@ -188,6 +236,16 @@ class debian-org { file { '/etc/default/puppet': source => 'puppet:///modules/debian-org/puppet.default', } + file { '/etc/systemd/system': + ensure => directory, + recurse => true, + } + file { '/etc/systemd/system/puppet.service': + ensure => 'link', + target => '/dev/null', + notify => Exec['systemctl daemon-reload'], + } + file { '/etc/cron.d/dsa-puppet-stuff': source => 'puppet:///modules/debian-org/dsa-puppet-stuff.cron', require => Package['debian.org'], @@ -207,7 +265,7 @@ class debian-org { file { '/etc/rc.local': mode => '0755', source => 'puppet:///modules/debian-org/rc.local', - notify => Exec['rc.local start'], + notify => Exec['service rc.local start'], } file { '/etc/dsa': ensure => directory, @@ -243,9 +301,17 @@ class debian-org { require => Package['debian.org'] } + file { '/usr/local/bin/check_for_updates': + source => 'puppet:///modules/debian-org/check_for_updates', + mode => '0755', + owner => root, + group => root, + } + exec { 'apt-get update': - path => '/usr/bin:/usr/sbin:/bin:/sbin', - refreshonly => true, + path => '/usr/bin:/usr/sbin:/bin:/sbin', + onlyif => '/usr/local/bin/check_for_updates', + require => File['/usr/local/bin/check_for_updates'] } Exec['apt-get update']->Package<| tag == extra_repo |> @@ -253,18 +319,21 @@ class debian-org { path => '/usr/bin:/usr/sbin:/bin:/sbin', refreshonly => true } - exec { 'puppetmaster restart': - path => '/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin', + exec { 'service puppetmaster restart': refreshonly => true } - exec { 'rc.local start': - path => '/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin', + exec { 'service rc.local start': refreshonly => true } exec { 'init q': refreshonly => true } + exec { 'systemctl daemon-reload': + refreshonly => true, + onlyif => "test -x /bin/systemctl" + } + tidy { '/var/lib/puppet/clientbucket/': age => '2w', recurse => 9, @@ -272,4 +341,17 @@ class debian-org { matches => [ 'paths', 'contents' ], schedule => weekly } + + file { '/root/.bashrc': + source => 'puppet:///modules/debian-org/root-dotfiles/bashrc', + } + file { '/root/.profile': + source => 'puppet:///modules/debian-org/root-dotfiles/profile', + } + file { '/root/.screenrc': + source => 'puppet:///modules/debian-org/root-dotfiles/screenrc', + } + file { '/root/.vimrc': + source => 'puppet:///modules/debian-org/root-dotfiles/vimrc', + } }