+# the base class defining tings common for all three static classes (master, mirror, source)
class roles::static_base {
ssh::keygen {'staticsync': }
+ ssh::authorized_key_add { 'staticsync':
+ target_user => 'staticsync',
+ command => "/usr/local/bin/staticsync-ssh-wrap ${::fqdn}",
+ key => $facts['staticsync_key'],
+ collect_tag => 'staticsync',
+ }
+# ssh::authorized_key_collect { 'staticsync':
+# target_user => 'staticsync',
+# collect_tag => 'staticsync',
+# }
file { '/etc/static-components.conf':
content => template('roles/static-mirroring/static-components.conf.erb'),
+# 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
+# a static mirror
+#
+# this receives pushes from the master and then usually serves the content to the public
class roles::static_mirror {
include roles::static_base
include roles::static_srvdir