X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbuildd%2Fmanifests%2Finit.pp;h=ea73380294107b69bca5cd86e3dc648ba3371e5f;hb=cf760168ec022b1fc8edb9c46d85b29a98af8ca6;hp=4f5c29106530c63aa89d64de8b4c0c8e1e2e9774;hpb=0dc26be94707ba06a32e602a3511d871dfde2849;p=mirror%2Fdsa-puppet.git diff --git a/modules/buildd/manifests/init.pp b/modules/buildd/manifests/init.pp index 4f5c29106..ea7338029 100644 --- a/modules/buildd/manifests/init.pp +++ b/modules/buildd/manifests/init.pp @@ -1,226 +1,25 @@ -class buildd ($ensure=present) { - # Do nothing until we get the buildd user from ldap - if $::buildd_user_exists { - include schroot - - package { 'sbuild': - ensure => installed, - tag => extra_repo, - } - package { 'libsbuild-perl': - ensure => installed, - tag => extra_repo, - before => Package['sbuild'] - } - - package { 'apt-transport-https': - ensure => installed, - } - if $ensure == present { - package { 'dupload': - ensure => installed, - } - file { '/etc/dupload.conf': - source => 'puppet:///modules/buildd/dupload.conf', - require => Package['dupload'], - } - package { 'buildd': - ensure => installed, - } - file { '/etc/buildd/buildd.conf': - source => 'puppet:///modules/buildd/buildd.conf', - require => Package['buildd'], - } - file { '/etc/sbuild/sbuild.conf': - source => 'puppet:///modules/buildd/sbuild.conf', - require => Package['sbuild'], - } - include ferm::ftp_conntrack - } - - site::aptrepo { 'buildd': - ensure => absent, - } - - $suite = $::lsbdistcodename ? { - wheezy => $::lsbdistcodename, - jessie => $::lsbdistcodename, - stretch => $::lsbdistcodename, - undef => 'wheezy', - default => 'jessie' - } - - if (versioncmp($::lsbmajdistrelease, '9') >= 0) { - site::aptrepo { 'buildd.debian.org': - ensure => absent, - } - } else { - site::aptrepo { 'buildd.debian.org': - key => 'puppet:///modules/buildd/buildd.debian.org.gpg', - url => 'https://apt.buildd.debian.org/', - suite => $suite, - components => 'main', - require => Package['apt-transport-https'], - } - } - - file { '/etc/apt/apt.conf.d/puppet-https-buildd': - content => "Acquire::https::apt.buildd.debian.org::CaInfo \"/etc/ssl/ca-debian/ca-certificates.crt\";\n", - } - - # 'bad' extension - file { '/etc/apt/preferences.d/buildd.debian.org': - ensure => absent, - } - file { '/etc/apt/preferences.d/buildd': - ensure => absent, - } - file { '/etc/cron.d/dsa-buildd': ensure => absent, } - concat::fragment { 'dsa-puppet-stuff--buildd': - target => '/etc/cron.d/dsa-puppet-stuff', - source => 'puppet:///modules/buildd/cron.d-dsa-buildd', - require => Package['debian.org'] - } - - if ($::kernel == 'Linux') { - package { 'python-psutil': - ensure => installed, - } - file { '/usr/local/sbin/buildd-schroot-aptitude-kill': - source => 'puppet:///modules/buildd/buildd-schroot-aptitude-kill', - mode => '0555', - } - } else { - file { '/usr/local/sbin/buildd-schroot-aptitude-kill': - source => 'puppet:///modules/buildd/buildd-schroot-aptitude-kill.squeeze', - mode => '0555', - } - } - file { '/etc/cron.d/puppet-buildd-aptitude': ensure => absent } - concat::fragment { 'dsa-puppet-stuff--buildd-aptitude-killer': - target => '/etc/cron.d/dsa-puppet-stuff', - content => @(EOF) - */5 * * * * root /usr/local/sbin/buildd-schroot-aptitude-kill - | EOF - } - - service { 'buildd': - enable => false, - ensure => 'stopped', - } - - file { '/etc/cron.d/puppet-update-buildd-schroots': ensure => absent } - if $has_srv_buildd { - concat::fragment { 'dsa-puppet-stuff--buildd-update-schroots': - target => '/etc/cron.d/dsa-puppet-stuff', - content => @(EOF) - 13 22 * * 0,3 root PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin setup-all-dchroots buildd - | EOF - } - } - - file { '/home/buildd': - ensure => directory, - mode => '2755', - group => buildd, - owner => buildd, - } - file { '/home/buildd/build': - ensure => directory, - mode => '2750', - group => buildd, - owner => buildd, - } - file { '/home/buildd/logs': - ensure => directory, - mode => '2750', - group => buildd, - owner => buildd, - } - file { '/home/buildd/old-logs': - ensure => directory, - mode => '2750', - group => buildd, - owner => buildd, - } - file { '/home/buildd/upload-security': - ensure => directory, - mode => '2750', - group => buildd, - owner => buildd, - } - file { '/home/buildd/stats': - ensure => directory, - mode => '2755', - group => buildd, - owner => buildd, - } - file { '/home/buildd/stats/graphs': - ensure => directory, - mode => '2755', - group => buildd, - owner => buildd, - } - file { '/home/buildd/upload': - ensure => directory, - mode => '2755', - group => buildd, - owner => buildd, - } - file { '/home/buildd/.forward': - content => "|/usr/bin/buildd-mail\n", - group => buildd, - owner => buildd, - } - file { '/home/buildd/.gnupg': - ensure => directory, - mode => '700', - group => buildd, - owner => buildd, - } - file { '/home/buildd/.gnupg/gpg.conf': - content => "personal-digest-preferences SHA512\n", - group => buildd, - owner => buildd, - } - - file { '/home/buildd/.profile': - content => @(EOT), - export XDG_RUNTIME_DIR="/run/user/$UID" - export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" - | EOT - group => buildd, - owner => buildd, - } - - if ! $::buildd_key { - exec { 'create-buildd-key': - command => '/bin/su - buildd -c \'mkdir -p -m 02700 .ssh && ssh-keygen -C "`whoami`@`hostname` (`date +%Y-%m-%d`)" -P "" -f .ssh/id_rsa -q\'', - onlyif => '/usr/bin/getent passwd buildd > /dev/null && ! [ -e /home/buildd/.ssh/id_rsa ]' - } - } - - - exec { 'add-buildd-user-to-sbuild': - command => 'adduser buildd sbuild', - onlyif => "getent group sbuild > /dev/null && ! getent group sbuild | grep '\\' > /dev/null" - } - - # Enable lingering for pybuildd - file { '/var/lib/systemd/linger': - ensure => directory, - mode => '755', - } - file { "/var/lib/systemd/linger/buildd": - ensure => present, - } - - # And persistent journald storage - exec {'mkdir -p /etc/systemd/journald.conf.d': - unless => 'test -d /etc/systemd/journald.conf.d', - } - file { '/etc/systemd/journald.conf.d/persistency.conf': - source => 'puppet:///modules/systemd/persistency.conf', - } - } +# A debian.org buildd +class buildd { + # Do nothing until we get the buildd user from ldap + if $::buildd_user_exists { + # home directory + file { '/home/buildd': + ensure => directory, + mode => '2755', + group => buildd, + owner => buildd, + } + + include buildd::schroot + include buildd::dupload + include buildd::aptitude + include buildd::gnupg + include buildd::ssh + + if $::hostname in [x86-grnet-01,x86-grnet-02,zani] { + include buildd::pybuildd + } else { + include buildd::buildd + } + } }