/
config-full.sls
104 lines (95 loc) · 3.06 KB
/
config-full.sls
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
hugo_group:
group.present:
- name: {{ pillar['hugo_deployment_data']['group'] }}
hugo_user:
user.present:
- name: {{ pillar['hugo_deployment_data']['user'] }}
- gid: {{ pillar['hugo_deployment_data']['group'] }}
- home: {{ pillar['hugo_deployment_data']['home_dir'] }}
- createhome: True
- require:
- group: hugo_group
hugo_site_repo:
cmd.run:
- name: git clone --recurse-submodules https://github.com/{{ pillar['hugo_deployment_data']['github_account'] }}/{{ pillar['hugo_deployment_data']['site_repo_name'] }}.git
- cwd: {{ pillar['hugo_deployment_data']['home_dir'] }}
- runas: {{ pillar['hugo_deployment_data']['user'] }}
- creates: {{ pillar['hugo_deployment_data']['home_dir'] }}/{{ pillar['hugo_deployment_data']['site_repo_name'] }}
- require:
- pkg: git_pkg
- user: hugo_user
nginx_default:
file.absent:
- name: '/etc/nginx/sites-enabled/default'
- require:
- pkg: nginx_pkg
nginx_config:
file.managed:
- name: /etc/nginx/sites-available/hugo_site
- source: salt://hugo/files/hugo_site
- user: root
- group: root
- mode: 0644
- template: jinja
- require:
- pkg: nginx_pkg
nginx_symlink:
file.symlink:
- name: /etc/nginx/sites-enabled/hugo_site
- target: /etc/nginx/sites-available/hugo_site
- user: root
- group: root
- require:
- file: nginx_config
nginx_document_root:
file.directory:
- name: {{ pillar['hugo_deployment_data']['nginx_document_root'] }}/{{ pillar['hugo_deployment_data']['site_repo_name'] }}
- user: {{ pillar['hugo_deployment_data']['user'] }}
- group: {{ pillar['hugo_deployment_data']['group'] }}
- dir_mode: 0755
- require:
- user: hugo_user
build_script:
file.managed:
- name: {{ pillar['hugo_deployment_data']['home_dir'] }}/deploy.sh
- source: salt://hugo/files/deploy.sh
- user: {{ pillar['hugo_deployment_data']['user'] }}
- group: {{ pillar['hugo_deployment_data']['group'] }}
- mode: 0755
- template: jinja
- require:
- user: hugo_user
cmd.run:
- name: ./deploy.sh
- cwd: {{ pillar['hugo_deployment_data']['home_dir'] }}
- runas: {{ pillar['hugo_deployment_data']['user'] }}
- creates: {{ pillar['hugo_deployment_data']['nginx_document_root'] }}//{{ pillar['hugo_deployment_data']['site_repo_name'] }}/index.html
- require:
- file: build_script
- cmd: hugo_site_repo
- file: nginx_document_root
webhook_systemd_unit:
file.managed:
- name: '/etc/systemd/system/webhook.service'
- source: salt://hugo/files/webhook.service
- user: root
- group: root
- mode: 0644
- template: jinja
- require:
- pkg: webhook_pkg
module.run:
- name: service.systemctl_reload
- onchanges:
- file: webhook_systemd_unit
webhook_config:
file.managed:
- name: '/etc/webhook.conf'
- source: salt://hugo/files/webhook.conf
- user: root
- group: {{ pillar['hugo_deployment_data']['group'] }}
- mode: 0640
- template: jinja
- require:
- pkg: webhook_pkg
- group: hugo_group