Make syncproxy mirror basedir configurable in hiera, and use it in all templates...
[mirror/dsa-puppet.git] / modules / roles / templates / syncproxy / rsyncd.conf.erb
index f9381f1..37c8f7f 100644 (file)
@@ -1,8 +1,8 @@
 uid = nobody
 gid = nogroup
-max connections = 30
 syslog facility = daemon
 socket options = SO_KEEPALIVE
+reverse lookup = false
 timeout = 7200
 
 # weasel 2007-11-19
@@ -12,39 +12,43 @@ read only = true
 ignore nonreadable = true
 strict modes = false
 
-[debian]
-  path = /srv/mirrors/debian/
-<%- unless has_variable?("has_srv_mirrors_debian") && has_srv_mirrors_debian == "true" -%>
-  list = no
-<%- end -%>
-  comment = Debian archive (contact mirrors@debian.org for access; see https://www.debian.org/mirror/size for size)
-  auth users = *
-  secrets file = /home/archvsync/rsyncd/debian.secrets
+<%=
+ repositories = [
+  { name: 'debian',
+    comment: 'Debian archive (contact mirrors@debian.org for access; see https://www.debian.org/mirror/size for size)'
+  },
+  { name: 'debian-debug',
+    comment: 'Debug packages for Debian archive (contact mirrors@debian.org for access)'
+  },
+  { name: 'debian-ports',
+    comment: 'Debian ports archive (contact mirrors@debian.org for access)'
+  },
+  { name: 'debian-security',
+    comment: 'Debian security archive'
+  },
+  { name: 'debian-security-buildd-pool',
+    list: false
+  },
+  ]
 
-[debian-debug]
-  path = /srv/mirrors/debian-debug/
-<%- unless has_variable?("has_srv_mirrors_debian_debug") && has_srv_mirrors_debian_debug == "true" -%>
-  list = no
-<%- end -%>
-  comment = Debug packages for Debian archive (contact mirrors@debian.org for access)
-  auth users = *
-  secrets file = /home/archvsync/rsyncd/debian-debug.secrets
+  lines = []
 
-[debian-ports]
-  path = /srv/mirrors/debian-ports/
-<%- unless has_variable?("has_srv_mirrors_debian_debug") && has_srv_mirrors_debian_debug == "true" -%>
-  list = no
-<%- end -%>
-  comment = Debian ports archive (contact mirrors@debian.org for access)
-  auth users = *
-  secrets file = /home/archvsync/rsyncd/debian-ports.secrets
+  repositories.each do |repo|
+    varname = ('has' + @mirror_basedir_prefix + repo[:name]).gsub(/[\/-]/,'_')
+    next unless has_variable?(varname) and (eval("@"+varname))
 
-[debian-security]
-  path = /srv/mirrors/debian-security/
-<%- unless has_variable?("has_srv_mirrors_debian_security") && has_srv_mirrors_debian_security == "true" -%>
-  list = no
-<%- end -%>
-  comment = Debian security archive (contact mirrors@debian.org for access)
-  auth users = *
-  secrets file = /home/archvsync/rsyncd/debian-security.secrets
+    lines << "[#{ repo[:name] }]"
+    lines << "  path = #{ @mirror_basedir_prefix }#{ repo[:name] }/"
+    if (repo.include?(:list) and not repo[:list])
+      lines << "  list = no"
+    end
+    if repo.include?(:comment)
+      lines << "  comment = #{ repo[:comment] }"
+    end
+    lines << "  auth users = *"
+    lines << "  secrets file = /home/archvsync/rsyncd/#{ repo[:name] }.secrets"
+    lines << ""
+  end
 
+  lines.join("\n")
+%>