summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: a946ba8eb52606dc87acc7b93f979ecdfc56a590 (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
39
40
41
42
43
class certbot(
  $basedir   = '/var/spool/certbot',
  $owner     = 'www-data',
  $pre_hook  = '',
  $post_hook = '',
) {

  $tool = $::lsbdistcodename ? {
    'xenial' => 'letsencrypt',
    default  => 'certbot',
  }

  if $pre_hook != '' {
    $real_pre_hook = "--pre-hook \"${pre_hook}\""
  }

  if $post_hook != '' {
    $real_post_hook = "--post-hook \"${post_hook}\""
  }

  # Certbot support
  file { $basedir:
    ensure  => directory,
    owner   => 'root',
    group   => $owner,
    mode    => '0750',
  }

  package { $tool:
    ensure  => present,
    require => File[$basedir],
  }

  cron { 'certbot-renew':
    command => "/usr/bin/${tool} renew --standalone ${real_pre_hook} ${real_post_hook}",
    user    => 'root',
    weekday => 1,
    hour    => "05",
    minute  => "30",
    ensure  => present,
    require => Package[$tool],
  }
}