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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }