-class roles::static_master inherits roles::static_base {
- file {
- '/etc/ssh/userkeys/staticsync':
- content => template('roles/static-master-authorized_keys.erb'),
- ;
- '/usr/local/bin/static-master-run':
- source => "puppet:///modules/roles/static-mirroring/static-master-run",
- mode => 555,
- ;
- '/usr/local/bin/static-master-ssh-wrap':
- source => "puppet:///modules/roles/static-mirroring/static-master-ssh-wrap",
- mode => 555,
- ;
- '/usr/local/bin/static-master-update-component':
- source => "puppet:///modules/roles/static-mirroring/static-master-update-component",
- mode => 555,
- ;
- }
+# 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 and themselves
+ class { 'roles::static::ssh':
+ add_tag => [ 'staticsync-mirror', 'staticsync-source', 'staticsync-master' ],
+ 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',
+ }
}
-# vim:set et:
-# vim:set sts=4 ts=4:
-# vim:set shiftwidth=4: