+# a static source
+#
+# origin of static content. From here it goes to the static master before that one pushes it to the mirrors
class roles::static_source {
- include roles::static_base
- file { '/etc/ssh/userkeys/staticsync':
- content => template('roles/static-mirroring/static-mirror-authorized_keys.erb'),
- }
- file { '/usr/local/bin/static-mirror-ssh-wrap':
- source => "puppet:///modules/roles/static-mirroring/static-mirror-ssh-wrap",
- mode => '0555',
- }
- file { '/usr/local/bin/static-mirror-ssh-wrap':
- source => 'puppet:///modules/roles/static-mirroring/static-mirror-ssh-wrap',
- mode => '0555',
- }
+ include roles::static::base
+
+ if ! defined(Class["roles::static_master"]) {
+ # sources talk only to masters, but only set this up if we are not
+ # *also* a static master since we cannot have two meaningful roles::static:ssh
+ # instances in the current setup.
+ #
+ # this adds the limitation that the master of any component whose source is also a
+ # master node needs to have that same host as its master and not some other one.
+ class { 'roles::static::ssh':
+ add_tag => 'staticsync-master',
+ collect_tag => 'staticsync-source',
+ }
+ }
}