summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: 92cb32abbcbdac9190472652087531572d61c1d2 (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],
  }
}