summaryrefslogtreecommitdiff
path: root/manifests/gandalf_web.pp
blob: 810064b8ff99a16ac8fe381923c64c08b8f70462 (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
44
45
46
47
48
49
50
51
52
class profiles::gandalf_web {

  class { '::nginx':
    manage_repo          => false,
    # server_purge       => true,
    package_name         => 'nginx-mainline',
    service_config_check => true,
    http_cfg_append      => {
      'charset'          => 'utf-8',
    },
    mime_types_preserve_defaults => true,
    mime_types => {
      'text/plain' => 'wiki txt',
    },
    include_modules_enabled => true,
  }

  file { '/etc/nginx/modules-enabled':
    ensure  => directory,
    purge   => true,
    recurse => true,
  }

  $certname = 'bookmark.gandalf.adrift.space'


  nginx::resource::server { 'gandalf':
    ipv6_enable          => true,
    listen_options       => 'default_server',
    ipv6_listen_options  => 'default_server',
    server_name          => [ '_' ],
    access_log           => absent,
    error_log            => absent,
    ssl                  => true,
    ssl_cert             => "/etc/letsencrypt/live/${certname}/fullchain.pem",
    ssl_key              => "/etc/letsencrypt/live/${certname}/privkey.pem",
    ssl_redirect         => true,
    index_files          => [ 'index.html', ],
    www_root             => '/var/www/adrift.space',
    use_default_location => false,
  }

  nginx::resource::location { '/':
    try_files   => ['$uri', '$uri/', '=404'],
    index_files => [],
    ssl         => true,
    ssl_only    => true,
    autoindex   => on,
    server      => 'gandalf',
  }

}