Allow arrays for tlsaport to be passed to ssl::service
authorPeter Palfrader <peter@palfrader.org>
Sun, 7 Feb 2016 09:54:03 +0000 (09:54 +0000)
committerPeter Palfrader <peter@palfrader.org>
Sun, 7 Feb 2016 09:54:03 +0000 (09:54 +0000)
modules/roles/manifests/rtc.pp
modules/ssl/manifests/service.pp

index 40cc288..0888833 100644 (file)
@@ -1,7 +1,7 @@
 class roles::rtc {
 
        ssl::service { 'www.debian.org':
-               tlsaport => 0,
+               tlsaport => [],
                notify  => Service['repro'],
        }
 
index 4f25a76..711f755 100644 (file)
@@ -1,4 +1,6 @@
 define ssl::service($ensure = present, $tlsaport = 443, $notify = [], $key = false) {
+       $tlsaports = any2array($tlsaport)
+
        if ($ensure == "ifstatic") {
                $ssl_ensure = has_static_component($name) ? {
                        true => "present",
@@ -35,8 +37,9 @@ define ssl::service($ensure = present, $tlsaport = 443, $notify = [], $key = fal
                }
        }
 
-       if ($tlsaport > 0 and $ssl_ensure == "present") {
-               dnsextras::tlsa_record{ "tlsa-${name}-${tlsaport}":
+       if (size($tlsaports) > 0 and $ssl_ensure == "present") {
+               $portlist = join($tlsaports, "-")
+               dnsextras::tlsa_record{ "tlsa-${name}-${portlist}":
                        zone     => 'debian.org',
                        certfile => [ "/etc/puppet/modules/ssl/files/servicecerts/${name}.crt", "/etc/puppet/modules/ssl/files/from-letsencrypt/${name}.crt" ],
                        port     => $tlsaport,