if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') {
$mirror = getfromhash($site::nodeinfo, 'hoster', 'mirror-debian')
} else {
- $mirror = 'http://http.debian.net/debian/'
+ $mirror = 'http://ftp.debian.org/debian/'
}
if $::lsbmajdistrelease < 7 {
$mirror_backports = 'http://backports.debian.org/debian-backports/'
$mirror_backports = $mirror
}
+ if $::lsbmajdistrelease <= 7 {
+ $mungedcodename = $::lsbdistcodename
+ } elsif ($::debarchitecture in ['kfreebsd-amd64', 'kfreebsd-i386']) {
+ $mungedcodename = "${::lsbdistcodename}-kfreebsd"
+ } else {
+ $mungedcodename = $::lsbdistcodename
+ }
+
+ if $systemd {
+ include systemd
+ $servicefiles = 'present'
+ } else {
+ $servicefiles = 'absent'
+ }
+
$debianadmin = [
'debian-archive-debian-samhain-reports@master.debian.org',
'debian-admin@ftbfs.de',
'klogd',
'sysklogd',
'rsyslog',
+ 'os-prober',
+ 'apt-listchanges',
]:
ensure => purged,
}
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'
+ }
+ if ($::lsbmajdistrelease >= 8) {
+ $rubyfs_package = 'ruby-filesystem'
+ } elsif $::lsbmajdistrelease == 7 {
+ $rubyfs_package = 'libfilesystem-ruby1.9'
+ } else {
+ $rubyfs_package = 'libfilesystem-ruby1.8'
+ }
package { [
'apt-utils',
'bash-completion',
'dnsutils',
'less',
'lsb-release',
- 'libfilesystem-ruby1.8',
+ $rubyfs_package,
'mtr-tiny',
'nload',
'pciutils',
ensure => installed,
}
- if $::lsbmajdistrelease >= 7 {
- package { 'libfilesystem-ruby1.9.1':
- ensure => installed,
- }
- }
-
munin::check { [
'cpu',
'entropy',
file { '/etc/apt/trusted-keys.d':
ensure => absent,
+ force => true,
}
- file { '/etc/apt/trusted.gpg',
+
+ file { '/etc/apt/trusted.gpg':
mode => '0600',
content => "",
}
+
site::aptrepo { 'security':
url => 'http://security.debian.org/',
- suite => "${::lsbdistcodename}/updates",
+ suite => "${mungedcodename}/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,
components => ['main','contrib','non-free']
}
- if $::hostname in [ball, corelli, eysler, lucatelli, mayer, mayr, rem] {
+ #if ($::hostname in [corelli, lucatelli, 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,
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':
if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') {
site::aptrepo { 'debian':
url => getfromhash($site::nodeinfo, 'hoster', 'mirror-debian'),
- suite => $::lsbdistcodename,
+ suite => $mungedcodename,
components => ['main','contrib','non-free']
}
}
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',
}
file { '/etc/default/puppet':
source => 'puppet:///modules/debian-org/puppet.default',
}
+ file { '/etc/systemd':
+ ensure => directory,
+ mode => 0755,
+ }
+ file { '/etc/systemd/system':
+ ensure => directory,
+ mode => 0755,
+ }
+ file { '/etc/systemd/system/ud-replicated.service':
+ ensure => $servicefiles,
+ source => 'puppet:///modules/debian-org/ud-replicated.service',
+ notify => Exec['systemctl daemon-reload'],
+ }
+ if $systemd {
+ file { '/etc/systemd/system/multi-user.target.wants/ud-replicated.service':
+ ensure => 'link',
+ target => '../ud-replicated.service',
+ notify => Exec['systemctl daemon-reload'],
+ }
+ }
+ 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',
+ content => template('debian-org/dsa-puppet-stuff.cron.erb'),
require => Package['debian.org'],
}
file { '/etc/ldap/ldap.conf':
require => Package['debian.org'],
- source => 'puppet:///modules/debian-org/ldap.conf',
+ content => template('debian-org/ldap.conf.erb'),
}
file { '/etc/pam.d/common-session':
require => Package['debian.org'],
}
file { '/etc/rc.local':
mode => '0755',
- source => 'puppet:///modules/debian-org/rc.local',
- notify => Exec['rc.local start'],
+ content => template('debian-org/rc.local.erb'),
+ notify => Exec['service rc.local start'],
}
file { '/etc/dsa':
ensure => directory,
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"
+ }
+
+ exec { 'systemd-tmpfiles --create --exclude-prefix=/dev':
+ refreshonly => true,
+ onlyif => "test -x /bin/systemd-tmpfiles"
+ }
+
tidy { '/var/lib/puppet/clientbucket/':
age => '2w',
recurse => 9,
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',
+ }
}