summaryrefslogtreecommitdiffstats
path: root/modules/tozt/manifests/site.pp
blob: f28619af4ec29713d2430b79027e94fe31a0f425 (plain) (blame)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
class tozt::site {
  include git
  include tozt::certbot
  include tozt::persistent

  package { "hugo":
    ensure => installed,
  }

  exec { "clone tozt.net":
    command => "/usr/bin/git clone git://github.com/doy/tozt-hugo",
    user => "doy",
    cwd => "/home/doy/coding",
    creates => "/home/doy/coding/tozt-hugo",
    require => [
      Class["git"],
      File["/home/doy/coding"],
    ],
  }

  exec { "generate tozt.net":
    provider => shell,
    command => "
      rm -rf public
      hugo
      mv public /home/doy/site
    ",
    user => "doy",
    cwd => "/home/doy/coding/tozt-hugo",
    creates => "/home/doy/site",
    require => [
      Exec["clone tozt.net"],
      User['doy'],
      File['/home/doy'],
      Package["hugo"],
      Class["git"],
    ],
  }

  file {
    "/media/persistent/public_html/doy":
      ensure => directory,
      owner => 'doy',
      group => 'doy',
      require => [
        Class['tozt::persistent'],
        User['doy'],
        Group['doy'],
      ];
    "/home/doy/public_html":
      ensure => link,
      target => "/media/persistent/public_html/doy",
      owner => 'doy',
      group => 'doy',
      require => [
        User['doy'],
        Group['doy'],
        File["/home/doy"],
      ];
  }

  nginx::site {
    "doy-tls":
      source => 'puppet:///modules/tozt/nginx/doy-tls.conf',
      require => Class['certbot'];
    "doy":
      source => 'puppet:///modules/tozt/nginx/doy.conf';
    "blog-tls":
      source => 'puppet:///modules/tozt/nginx/blog-tls.conf',
      require => Class['certbot'];
    "blog":
      source => 'puppet:///modules/tozt/nginx/blog.conf';
  }

  file {
    '/usr/local/bin/hugo-tozt':
      source => 'puppet:///modules/tozt/hugo-tozt',
      mode => '0755';
  }
}