+# 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
+ include roles::static::base
+ include roles::static::srvdir
- 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'),
- }
+ # masters need to talk to mirrors and sources and themselves
+ class { 'roles::static::ssh':
+ add_tag => [ 'staticsync-mirror', 'staticsync-source', 'staticsync-master' ],
+ collect_tag => 'staticsync-master',
+ }
- # 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" |>>
+ 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'),
+ }
- exec { 'rebuild-onion-website':
- command => '/bin/su - staticsync -c \'make -C /srv/onion-master.debian.org\'',
- refreshonly => true,
- }
- }
+ 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',
+ }
}