Add a ports-master role
authorPeter Palfrader <peter@palfrader.org>
Thu, 26 May 2016 10:49:36 +0000 (12:49 +0200)
committerPeter Palfrader <peter@palfrader.org>
Thu, 26 May 2016 10:54:05 +0000 (12:54 +0200)
hieradata/common.yaml
modules/roles/files/ports-master/rsyncd.conf [new file with mode: 0644]
modules/roles/manifests/init.pp
modules/roles/manifests/ports-master.pp [new file with mode: 0644]

index 5de94d1..f2b5ac8 100644 (file)
@@ -198,3 +198,5 @@ roles:
     - delfin.debian.org
   pet.d.n:
     - petrova.debian.org
+  ports-master:
+    - porta.debian.org
diff --git a/modules/roles/files/ports-master/rsyncd.conf b/modules/roles/files/ports-master/rsyncd.conf
new file mode 100644 (file)
index 0000000..e443a54
--- /dev/null
@@ -0,0 +1,21 @@
+uid = nobody
+gid = nogroup
+max connections = 25
+syslog facility = daemon
+socket options = SO_KEEPALIVE
+timeout = 7200
+log file = /var/log/rsyncd/rsyncd-ports-master.log
+
+[debian-ports]
+  path = /srv/ports-master.debian.org/ftp/debian-ports
+  comment = debian-ports tree - see https://www.ports.debian.org/
+  auth users = *
+  read only = true
+  secrets file = /etc/rsyncd/ftp.secrets
+
+[debian-ports-cd]
+  path = /srv/ports-master.debian.org/ftp/debian-ports-cd
+  comment = debian-ports-cd tree - see https://www.ports.debian.org/
+  auth users = *
+  read only = true
+  secrets file = /etc/rsyncd/ftp.secrets
index fc13165..4c3553a 100644 (file)
@@ -340,4 +340,8 @@ class roles {
                        key => true,
                }
        }
+
+       if has_role('ports-master') {
+               include roles::ports-master
+       }
 }
diff --git a/modules/roles/manifests/ports-master.pp b/modules/roles/manifests/ports-master.pp
new file mode 100644 (file)
index 0000000..62746ad
--- /dev/null
@@ -0,0 +1,21 @@
+class roles::ports-master {
+       rsync::site { 'ports-master':
+               source        => 'puppet:///modules/roles/ports-master/rsyncd.conf',
+               max_clients   => 100,
+               sslname       => 'ports-master.debian.org',
+       }
+
+       ssl::service { 'ports-master.debian.org':
+               key => true,
+       }
+
+       file { '/etc/rsyncd':
+               ensure => 'directory'
+       }
+
+       file { '/etc/rsyncd/debian.secrets':
+               owner => 'root',
+               group => 'mirroradm',
+               mode => 0660,
+       }
+}