Make syncproxy mirror basedir configurable in hiera, and use it in all templates...
[mirror/dsa-puppet.git] / modules / roles / templates / syncproxy / rsyncd.conf.erb
1 uid = nobody
2 gid = nogroup
3 syslog facility = daemon
4 socket options = SO_KEEPALIVE
5 reverse lookup = false
6 timeout = 7200
7
8 # weasel 2007-11-19
9 log file =  /var/log/rsyncd/rsyncd-syncproxy.log
10
11 read only = true
12 ignore nonreadable = true
13 strict modes = false
14
15 <%=
16  repositories = [
17   { name: 'debian',
18     comment: 'Debian archive (contact mirrors@debian.org for access; see https://www.debian.org/mirror/size for size)'
19   },
20   { name: 'debian-debug',
21     comment: 'Debug packages for Debian archive (contact mirrors@debian.org for access)'
22   },
23   { name: 'debian-ports',
24     comment: 'Debian ports archive (contact mirrors@debian.org for access)'
25   },
26   { name: 'debian-security',
27     comment: 'Debian security archive'
28   },
29   { name: 'debian-security-buildd-pool',
30     list: false
31   },
32   ]
33
34   lines = []
35
36   repositories.each do |repo|
37     varname = ('has' + @mirror_basedir_prefix + repo[:name]).gsub(/[\/-]/,'_')
38     next unless has_variable?(varname) and (eval("@"+varname))
39
40     lines << "[#{ repo[:name] }]"
41     lines << "  path = #{ @mirror_basedir_prefix }#{ repo[:name] }/"
42     if (repo.include?(:list) and not repo[:list])
43       lines << "  list = no"
44     end
45     if repo.include?(:comment)
46       lines << "  comment = #{ repo[:comment] }"
47     end
48     lines << "  auth users = *"
49     lines << "  secrets file = /home/archvsync/rsyncd/#{ repo[:name] }.secrets"
50     lines << ""
51   end
52
53   lines.join("\n")
54 %>