1 #####################################
2 ### someone's ansible provisioner ###
3 #####################################
4 # Part of: https://git.somenet.org/root/pub/somesible.git
5 # 2017-2026 by someone <someone@somenet.org>
7 # system backup script + systemd timer
10 - name: install backup tool
19 ignore_errors: "{{ignore_online_errors | bool}}"
20 when: setup_backup | bool
23 - name: create dir /bkp
32 - name: create dir /bkp/local
39 when: setup_backup | bool
42 - name: create dir /bkp/storage-local
44 path: "/bkp/storage-local"
50 when: setup_backup | bool
53 - name: copy backup.sh to /bkp/local
56 dest: "/bkp/local/backup.sh"
61 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/backup.sh"
62 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/backup.sh"
63 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/backup.sh"
65 when: setup_backup | bool
68 - name: copy backup.conf.managed to /bkp/local
71 dest: "/bkp/local/backup.conf.managed"
76 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/backup.conf.managed"
77 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/backup.conf.managed"
78 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/backup.conf.managed"
79 - "default/backup.conf.managed"
80 when: setup_backup | bool
83 - name: create dir /bkp/local/exclude.conf.d
85 path: "/bkp/local/exclude.conf.d"
90 when: setup_backup | bool
93 - name: copy etc--00-global.managed to /bkp/local/exclude.conf.d
96 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--etc--00-global.managed"
101 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/etc--00-global.managed"
102 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/etc--00-global.managed"
103 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/etc--00-global.managed"
104 - "default/exclude/etc--00-global.managed"
105 when: setup_backup | bool
108 - name: copy etc--10-host.managed to /bkp/local/exclude.conf.d
111 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--etc--10-host.managed"
116 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/etc--10-host.managed"
117 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/etc--10-host.managed"
118 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/etc--10-host.managed"
119 - "default/exclude/etc--10-host.managed"
120 when: setup_backup | bool
123 - name: copy root--00-global.managed to /bkp/local/exclude.conf.d
126 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--root--00-global.managed"
131 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/root--00-global.managed"
132 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/root--00-global.managed"
133 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/root--00-global.managed"
134 - "default/exclude/root--00-global.managed"
135 when: setup_backup | bool
138 - name: copy root--10-host.managed to /bkp/local/exclude.conf.d
141 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--root--10-host.managed"
146 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/root--10-host.managed"
147 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/root--10-host.managed"
148 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/root--10-host.managed"
149 - "default/exclude/root--10-host.managed"
150 when: setup_backup | bool
153 - name: copy srv--00-global.managed to /bkp/local/exclude.conf.d
156 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--srv--00-global.managed"
161 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/srv--00-global.managed"
162 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/srv--00-global.managed"
163 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/srv--00-global.managed"
164 - "default/exclude/srv--00-global.managed"
165 when: setup_backup | bool
168 - name: copy srv--10-host.managed to /bkp/local/exclude.conf.d
171 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--srv--10-host.managed"
176 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/srv--10-host.managed"
177 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/srv--10-host.managed"
178 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/srv--10-host.managed"
179 - "default/exclude/srv--10-host.managed"
180 when: setup_backup | bool
183 - name: copy var--00-global.managed to /bkp/local/exclude.conf.d
186 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--var--00-global.managed"
191 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/var--00-global.managed"
192 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/var--00-global.managed"
193 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/var--00-global.managed"
194 - "default/exclude/var--00-global.managed"
195 when: setup_backup | bool
198 - name: copy var--10-host.managed to /bkp/local/exclude.conf.d
201 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--var--10-host.managed"
206 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/var--10-host.managed"
207 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/var--10-host.managed"
208 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/var--10-host.managed"
209 - "default/exclude/var--10-host.managed"
210 when: setup_backup | bool
213 - name: copy backup.service to /etc/systemd/system/
216 dest: "/etc/systemd/system/backup.service"
221 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/backup.service"
222 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/backup.service"
223 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/backup.service"
224 - "default/backup.service"
225 when: setup_backup | bool
228 - name: copy home--00-global.managed to /bkp/local/exclude.conf.d
231 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--home--00-global.managed"
236 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/home--00-global.managed"
237 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/home--00-global.managed"
238 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/home--00-global.managed"
239 - "default/exclude/home--00-global.managed"
240 when: setup_backup | bool
243 - name: copy home--10-host.managed to /bkp/local/exclude.conf.d
246 dest: "/bkp/local/exclude.conf.d/{{inventory_hostname}}--home--10-host.managed"
251 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/exclude/home--10-host.managed"
252 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/exclude/home--10-host.managed"
253 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/exclude/home--10-host.managed"
254 - "default/exclude/home--10-host.managed"
255 when: setup_backup | bool
258 - name: copy backup.timer to /etc/systemd/system/
261 dest: "/etc/systemd/system/backup.timer"
266 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/backup.timer"
267 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/backup.timer"
268 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/backup.timer"
269 - "default/backup.timer"
270 when: setup_backup | bool
273 - name: enable and start backup.timer
274 include_role: name="base/systemd/enable-and-start"
276 service_name: backup.timer
277 when: setup_backup | bool
281 ###############################
282 # setup backup storage server #
283 ###############################
284 - name: create borg-storage user
287 home: "/bkp/storage-server"
292 when: setup_backup_storage_server | bool
295 - name: create dir /bkp/storage-server
297 path: "/bkp/storage-server"
300 owner: "borg-storage"
301 group: "borg-storage"
303 when: setup_backup_storage_server | bool
306 - name: create dir /bkp/storage-server/.ssh
308 path: "/bkp/storage-server/.ssh"
311 owner: "borg-storage"
312 group: "borg-storage"
313 when: setup_backup_storage_server | bool
316 - name: copy authorized_keys to /bkp/storage-server/.ssh/authorized_keys
319 dest: "/bkp/storage-server/.ssh/authorized_keys"
321 owner: "borg-storage"
322 group: "borg-storage"
324 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/backup-server.authorized_keys"
325 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/backup-server.authorized_keys"
326 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/backup-server.authorized_keys"
327 - "default/backup-server.authorized_keys"
328 when: setup_backup_storage_server | bool