+# 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
+ 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',
+ }
+ }
}