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';
}
}
|