move the onion address lookup for people.d.o to the template
[mirror/dsa-puppet.git] / modules / roles / manifests / people.pp
1 # @param listen_addr IP addresses to have apache listen on port 443
2 class roles::people (
3   Array[Stdlib::IP::Address] $listen_addr = [],
4 ) {
5   include apache2
6   apache2::module { 'userdir': }
7   ssl::service { 'people.debian.org': notify  => Exec['service apache2 reload'], key => true, }
8   onion::service { 'people.debian.org': port => 80, target_address => 'people.debian.org', target_port => 80, direct => true }
9
10   $ports = empty($listen_addr) ? {
11     true => ['443'],
12     default => enclose_ipv6($listen_addr).map |$a| { "${a}:443" },
13   }
14   file { '/etc/apache2/ports.conf':
15     content => template('roles/apache-people-ports.conf.erb'),
16   }
17
18   $_enclosed_addresses = empty($listen_addr) ? {
19     true => ['*'],
20     default => enclose_ipv6($listen_addr),
21   }
22   $vhost_listen = $_enclosed_addresses.map |$a| { "${a}:443" } . join(' ')
23   apache2::site { 'people.debian.org':
24     site => 'people.debian.org.conf',
25     content => template('roles/apache-people.debian.org.conf.erb'),
26   }
27 }