# static master # # each component defines exactly one static master. Content is copied from the source host # to the master, and from there to all the mirrors. # class roles::static_master { include roles::static::base include roles::static::srvdir # masters need to talk to mirrors and sources class { 'roles::static::ssh': add_tag => [ 'staticsync-mirror', 'staticsync-source' ], collect_tag => 'staticsync-master', } file { '/usr/local/bin/static-master-run': source => 'puppet:///modules/roles/static-mirroring/static-master-run', mode => '0555', } file { '/usr/local/bin/static-master-update-component': source => 'puppet:///modules/roles/static-mirroring/static-master-update-component', mode => '0555', } file { '/etc/static-clients.conf': content => template('roles/static-mirroring/static-clients.conf.erb'), } file { '/home/staticsync/static-master': ensure => link, target => '/srv/static.debian.org', } file { '/srv/static.debian.org/master': ensure => directory, mode => '0755', owner => 'staticsync', group => 'staticsync', } # export some information for the onion.debian.org build if $::hostname in [dillon] { file { '/srv/puppet.debian.org': ensure => directory } file { '/srv/puppet.debian.org/puppet-facts': ensure => directory } concat { '/srv/puppet.debian.org/puppet-facts/onionbalance-services.yaml': notify => Exec['rebuild-onion-website'], } Concat::Fragment <<| tag == 'onionbalance-services.yaml' |>> exec { 'rebuild-onion-website': command => '/bin/su - staticsync -c \'make -C /srv/onion-master.debian.org\'', refreshonly => true, } } }