projects
/
mirror
/
dsa-puppet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
whitespace change
[mirror/dsa-puppet.git]
/
modules
/
roles
/
manifests
/
ports_mirror.pp
diff --git
a/modules/roles/manifests/ports_mirror.pp
b/modules/roles/manifests/ports_mirror.pp
index
d8ae988
..
7463c85
100644
(file)
--- a/
modules/roles/manifests/ports_mirror.pp
+++ b/
modules/roles/manifests/ports_mirror.pp
@@
-1,12
+1,20
@@
+# a mirror of ports.debian.org
+#
+# @param listen_addr IP addresses to have apache listen on
+# @param onion_service provide the onion service from this host
class roles::ports_mirror(
class roles::ports_mirror(
-
String $vhost_listen = '*:80'
,
+
Array[Stdlib::IP::Address] $listen_addr = []
,
Boolean $onion_service = false,
Boolean $onion_service = false,
- Optional[Stdlib::IP::Address] $onion_addr = undef,
) {
include roles::archvsync_base
) {
include roles::archvsync_base
-
include apache2
include apache2
+ $_enclosed_addresses = empty($listen_addr) ? {
+ true => ['*'],
+ default => enclose_ipv6($listen_addr),
+ }
+ $vhost_listen = $_enclosed_addresses.map |$a| { "${a}:80" } .join(' ')
+
$mirror_basedir_prefix = hiera('role_config__mirrors.mirror_basedir_prefix')
$archive_root = "${mirror_basedir_prefix}debian-ports"
$mirror_basedir_prefix = hiera('role_config__mirrors.mirror_basedir_prefix')
$archive_root = "${mirror_basedir_prefix}debian-ports"
@@
-16,8
+24,12
@@
class roles::ports_mirror(
}
if $onion_service {
}
if $onion_service {
+ $onion_addr = empty($listen_addr) ? {
+ true => $base::public_address,
+ default => filter_ipv4($listen_addr)[0]
+ }
if ! $onion_addr {
if ! $onion_addr {
- fail("Do not have a
n onion_addr set for ${::hostname}
.")
+ fail("Do not have a
useable address for the onionservice on ${::hostname}. Is \$listen_addr empty or does it not have an IPv4 address?
.")
}
onion::service { 'ftp.ports.debian.org':
}
onion::service { 'ftp.ports.debian.org':
@@
-26,4
+38,6
@@
class roles::ports_mirror(
target_address => $onion_addr,
}
}
target_address => $onion_addr,
}
}
+
+ Ferm::Rule::Simple <<| tag == 'ssh::server::from::syncproxy' |>>
}
}