Mercurial > repos > other > Puppet
view modules/website/manifests/https/multitld.pp @ 284:9431aec4d998
Switch to using IPv6 prefix and IP per site
This is because the proxy seems to break SNI, so we need an IP
per SSL cert. We're not short of IPv6 addresses, though!
Also corrected to "4to6" naming, because we're letting IPv4 access
an IPv6 site
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 16 Feb 2020 12:07:35 +0000 |
parents | af7df930a670 |
children | 386881985a35 |
line wrap: on
line source
define website::https::multitld ( Optional[String] $docroot = undef, Stdlib::IP::Address $ip = $website::primary_ip, Stdlib::IP::Address::V6 $proxy_4to6_ip = undef, Optional[Integer] $priority = undef, String $base = $name, Pattern[/^[a-z]+(\.[a-z]+)?$/] $main_tld = $website::tld, Array $extra_tlds = $website::extra_tlds, Optional[String] $ssl_ca_chain = undef, Optional[String] $letsencrypt_name = undef, Optional[String] $docroot_owner = undef, Optional[String] $docroot_group = undef, Optional[String] $custom_fragment = undef, Optional[String] $proxy_fragment = $custom_fragment, Optional[Boolean] $force_no_index = undef, Optional[Boolean] $force_no_www = undef, Optional[Boolean] $csp = true, Optional[Hash[String, String]] $csp_override = undef, Boolean $csp_report = true, Optional[Hash[String, String]] $csp_report_override = undef, ) { if ! defined(Class['website']) { fail('You must include the website base class before using any website defined resources') } $alias = domain_to_short_domain($base) $base_aliases = prefix($extra_tlds, "${base}.") if $base != $alias { $aliases = concat(concat($base_aliases, "${alias}.${main_tld}"), prefix($extra_tlds, "${alias}.")) } else { $aliases = $base_aliases } $main_domain = "${base}.${main_tld}" website::https { $main_domain: priority => $priority, ip => $ip, proxy_4to6_ip => $proxy_4to6_ip, serveraliases => $aliases, docroot => $docroot, docroot_owner => $docroot_owner, docroot_group => $docroot_group, ssl_ca_chain => $ssl_ca_chain, letsencrypt_name => $letsencrypt_name, custom_fragment => $custom_fragment, proxy_fragment => $proxy_fragment, force_no_index => $force_no_index, force_no_www => $force_no_www, csp => $csp, csp_override => $csp_override, csp_report => $csp_report, csp_report_override => $csp_report_override, } }