Mercurial > repos > other > Puppet
annotate modules/apache/manifests/mod/md.pp @ 482:d83de9b3a62b default tip
Update hiera.yaml within Puppet config
Forgot that we manage it from here. Now has content to match
new packages
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 30 Aug 2024 16:10:36 +0100 |
parents | adf6fe9bbc17 |
children |
rev | line source |
---|---|
437
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 # @summary |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 # Installs and configures `mod_md`. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 # @param md_activation_delay |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 # - |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 # @param md_base_server |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 # Control if base server may be managed or only virtual hosts. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 # @param md_ca_challenges |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 # Type of ACME challenge used to prove domain ownership. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 # @param md_certificate_agreement |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 # You confirm that you accepted the Terms of Service of the Certificate |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 # Authority. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
17 # @param md_certificate_authority |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
18 # The URL of the ACME Certificate Authority service. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
19 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
20 # @param md_certificate_check |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
21 # - |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
22 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
23 # @param md_certificate_monitor |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
24 # The URL of a certificate log monitor. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
25 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
26 # @param md_certificate_protocol |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
27 # The protocol to use with the Certificate Authority. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
28 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
29 # @param md_certificate_status |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
30 # Exposes public certificate information in JSON. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
31 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
32 # @param md_challenge_dns01 |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
33 # Define a program to be called when the `dns-01` challenge needs to be |
478
adf6fe9bbc17
Update Puppet modules to latest versions
IBBoard <dev@ibboard.co.uk>
parents:
437
diff
changeset
|
34 # setup/torn down. |
437
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
35 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
36 # @param md_contact_email |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
37 # The ACME protocol requires you to give a contact url when you sign up. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
38 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
39 # @param md_http_proxy |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
40 # Define a proxy for outgoing connections. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
41 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
42 # @param md_members |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
43 # Control if the alias domain names are automatically added. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
44 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 # @param md_message_cmd |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
46 # Handle events for Manage Domains. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
47 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
48 # @param md_must_staple |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
49 # Control if new certificates carry the OCSP Must Staple flag. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
50 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
51 # @param md_notify_cmd |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
52 # Run a program when a Managed Domain is ready. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
53 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
54 # @param md_port_map |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
55 # Map external to internal ports for domain ownership verification. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
56 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
57 # @param md_private_keys |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
58 # Set type and size of the private keys generated. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
59 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
60 # @param md_renew_mode |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
61 # Controls if certificates shall be renewed. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
62 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
63 # @param md_renew_window |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
64 # Control when a certificate will be renewed. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
65 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
66 # @param md_require_https |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
67 # Redirects http: traffic to https: for Managed Domains. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
68 # An http: Virtual Host must nevertheless be setup for that domain. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
69 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
70 # @param md_server_status |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
71 # Control if Managed Domain information is added to server-status. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
72 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
73 # @param md_staple_others |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
74 # Enable stapling for certificates not managed by mod_md. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
75 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
76 # @param md_stapling |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
77 # Enable stapling for all or a particular MDomain. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
78 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
79 # @param md_stapling_keep_response |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
80 # Controls when old responses should be removed. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
81 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
82 # @param md_stapling_renew_window |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
83 # Control when the stapling responses will be renewed. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
84 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
85 # @param md_store_dir |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
86 # Path on the local file system to store the Managed Domains data. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
87 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
88 # @param md_warn_window |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
89 # Define the time window when you want to be warned about an expiring |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
90 # certificate. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
91 # |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
92 # @see https://httpd.apache.org/docs/current/mod/mod_md.html for additional documentation. |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
93 # |
478
adf6fe9bbc17
Update Puppet modules to latest versions
IBBoard <dev@ibboard.co.uk>
parents:
437
diff
changeset
|
94 # @note Unsupported platforms: CentOS: 6, 7; OracleLinux: all; RedHat: 6, 7; Scientific: all; SLES: all; Ubuntu: 18 |
437
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
95 class apache::mod::md ( |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
96 Optional[String] $md_activation_delay = undef, |
478
adf6fe9bbc17
Update Puppet modules to latest versions
IBBoard <dev@ibboard.co.uk>
parents:
437
diff
changeset
|
97 Optional[Apache::OnOff] $md_base_server = undef, |
437
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
98 Optional[Array[Enum['dns-01', 'http-01', 'tls-alpn-01']]] $md_ca_challenges = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
99 Optional[Enum['accepted']] $md_certificate_agreement = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
100 Optional[Stdlib::HTTPUrl] $md_certificate_authority = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
101 Optional[String] $md_certificate_check = undef, # undocumented |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
102 Optional[String] $md_certificate_monitor = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
103 Optional[Enum['ACME']] $md_certificate_protocol = undef, |
478
adf6fe9bbc17
Update Puppet modules to latest versions
IBBoard <dev@ibboard.co.uk>
parents:
437
diff
changeset
|
104 Optional[Apache::OnOff] $md_certificate_status = undef, |
437
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
105 Optional[Stdlib::Absolutepath] $md_challenge_dns01 = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
106 Optional[String] $md_contact_email = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
107 Optional[Stdlib::HTTPUrl] $md_http_proxy = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
108 Optional[Enum['auto', 'manual']] $md_members = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
109 Optional[Stdlib::Absolutepath] $md_message_cmd = undef, |
478
adf6fe9bbc17
Update Puppet modules to latest versions
IBBoard <dev@ibboard.co.uk>
parents:
437
diff
changeset
|
110 Optional[Apache::OnOff] $md_must_staple = undef, |
437
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
111 Optional[Stdlib::Absolutepath] $md_notify_cmd = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
112 Optional[String] $md_port_map = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
113 Optional[String] $md_private_keys = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
114 Optional[Enum['always', 'auto', 'manual']] $md_renew_mode = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
115 Optional[String] $md_renew_window = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
116 Optional[Enum['off', 'permanent', 'temporary']] $md_require_https = undef, |
478
adf6fe9bbc17
Update Puppet modules to latest versions
IBBoard <dev@ibboard.co.uk>
parents:
437
diff
changeset
|
117 Optional[Apache::OnOff] $md_server_status = undef, |
adf6fe9bbc17
Update Puppet modules to latest versions
IBBoard <dev@ibboard.co.uk>
parents:
437
diff
changeset
|
118 Optional[Apache::OnOff] $md_staple_others = undef, |
adf6fe9bbc17
Update Puppet modules to latest versions
IBBoard <dev@ibboard.co.uk>
parents:
437
diff
changeset
|
119 Optional[Apache::OnOff] $md_stapling = undef, |
437
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
120 Optional[String] $md_stapling_keep_response = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
121 Optional[String] $md_stapling_renew_window = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
122 Optional[Stdlib::Absolutepath] $md_store_dir = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
123 Optional[String] $md_warn_window = undef, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
124 ) { |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
125 include apache |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
126 include apache::mod::watchdog |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
127 |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
128 apache::mod { 'md': |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
129 } |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
130 |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
131 file { 'md.conf': |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
132 ensure => file, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
133 path => "${apache::mod_dir}/md.conf", |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
134 mode => $apache::file_mode, |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
135 content => epp('apache/mod/md.conf.epp'), |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
136 require => Exec["mkdir ${apache::mod_dir}"], |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
137 before => File[$apache::mod_dir], |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
138 notify => Class['apache::service'], |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
139 } |
b8d6ada284dd
Update Apache module to latest version
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
140 } |