blob: cc72b32eb6565bdb62c0f0cc55d5627d01045401 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# @summary Sets up letsencrypt for other classes
# @param email Contact email sent to letsencrypt
# @param config_dir Location of configuration files
# @param default_cert Should a certificate be automatically configured
# @param default_cert_name
# The name (and domain) of the automatically configured centificate.
class letsencrypt (
String $email,
Stdlib::Unixpath $config_dir = '/etc/letsencrypt',
String $default_cert_name = $::facts['fqdn'],
Boolean $default_cert = true,
# TODO renewal provider here?
) {
if $default_cert {
letsencrypt::cert { $default_cert_name:
ensure => present,
}
}
file { $config_dir:
ensure => directory,
}
$cli_conf = @("EOF")
email = ${email}
| EOF
file { "${config_dir}/cli.ini":
content => $cli_conf,
}
include letsencrypt::renew::setup
# Boolean indicating if ssl is configured. Mainly used by
# letsencrypt::nginx and similar classes to determine their export
# of their variable $ssl.
$ssl_configured = 'letsencrypt_director$' in keys($facts)
}
|