comparison modules/website/manifests/https/multitld.pp @ 150:060f81349dd6 puppet-3.6

Restructure HTTPS certificates and multiple TLD sites for clarity
author IBBoard <dev@ibboard.co.uk>
date Tue, 28 Mar 2017 20:46:35 +0100
parents 4b42f65ae875
children 4519b727cc4c
comparison
equal deleted inserted replaced
149:af30a5eb468f 150:060f81349dd6
4 $priority = undef, 4 $priority = undef,
5 $base = $name, 5 $base = $name,
6 $main_tld = $website::tld, 6 $main_tld = $website::tld,
7 $extra_tlds = $website::extra_tlds, 7 $extra_tlds = $website::extra_tlds,
8 $ssl_ca_chain = undef, 8 $ssl_ca_chain = undef,
9 $letsencrypt_name = undef,
9 $docroot_owner = undef, 10 $docroot_owner = undef,
10 $docroot_group = undef, 11 $docroot_group = undef,
11 $custom_fragment = undef, 12 $custom_fragment = undef,
12 $force_no_index = undef, 13 $force_no_index = undef,
13 $force_no_www = undef, 14 $force_no_www = undef,
19 20
20 validate_array($extra_tlds) 21 validate_array($extra_tlds)
21 validate_re($main_tld, '^[a-z]+(\.[a-z]+)?', 'TLD must be in the form "com" or "co.uk"') 22 validate_re($main_tld, '^[a-z]+(\.[a-z]+)?', 'TLD must be in the form "com" or "co.uk"')
22 $alias = domain_to_short_domain($base) 23 $alias = domain_to_short_domain($base)
23 24
24 if $base == $alias { 25 $base_aliases = prefix($extra_tlds, "${base}.")
25 $main_alias = [] 26 if $base != $alias {
27 $aliases = concat(concat($base_aliases, "${alias}.${main_tld}"),
28 prefix($extra_tlds, "${alias}."))
26 } else { 29 } else {
27 $main_alias = [ "${alias}.${main_tld}" ] 30 $aliases = $base_aliases
28 } 31 }
32
29 $main_domain = "${base}.${main_tld}" 33 $main_domain = "${base}.${main_tld}"
30 website::https { $main_domain: 34 website::https { $main_domain:
31 priority => $priority, 35 priority => $priority,
32 ip => $ip, 36 ip => $ip,
33 serveraliases => $main_alias, 37 serveraliases => $aliases,
34 docroot => $docroot, 38 docroot => $docroot,
35 docroot_owner => $docroot_owner, 39 docroot_owner => $docroot_owner,
36 docroot_group => $docroot_group, 40 docroot_group => $docroot_group,
37 ssl_ca_chain => $ssl_ca_chain, 41 ssl_ca_chain => $ssl_ca_chain,
42 letsencrypt_name => $letsencrypt_name,
38 custom_fragment => $custom_fragment, 43 custom_fragment => $custom_fragment,
39 force_no_index => $force_no_index, 44 force_no_index => $force_no_index,
40 force_no_www => $force_no_www, 45 force_no_www => $force_no_www,
41 } 46 }
42
43 if count($extra_tlds) > 0 {
44 $base_extras = prefix($extra_tlds, "${base}.")
45
46 website::https::multitldredir { $base_extras:
47 ip => $ip,
48 main_domain => $main_domain,
49 ssl_ca_chain => $ssl_ca_chain,
50 docroot => $docroot,
51 docroot_owner => $docroot_owner,
52 docroot_group => $docroot_group,
53 }
54 }
55 } 47 }