--- /dev/null
+# the dgit role
+#
+# stores the sync command to be collected by sync clients (browse and public git)
+class roles::dgit() {
+ ssh::authorized_key_add { 'dgit-sync':
+ target_user => 'dgit-unpriv',
+ key => dig($facts, 'ssh_keys_users', 'dgit', 'id_rsa.pub', 'line'),
+ command => '/srv/dgit.debian.org/dgit-live/infra/dgit-mirror-ssh-wrap /srv/dgit.debian.org/unpriv/repos/ .git --',
+ from => $base::public_addresses,
+ collect_tag => 'roles::dgit::sync',
+ }
+}
class roles::dgit_browse {
include apache2
+ include roles::dgit_sync_target
ssl::service { 'browse.dgit.debian.org':
notify => Exec['service apache2 reload'],
--- /dev/null
+# class to collect the ssh keys sent by the dgit host on the browse and
+# (public) git host
+class roles::dgit_sync_target {
+ ssh::authorized_key_collect { 'dgit-sync':
+ target_user => 'dgit-unpriv',
+ collect_tag => 'roles::dgit::sync'
+ }
+}