Setup backup server configuration for backup replication.
This commit is contained in:
1 parent
768da9cf45
commit
3508f62085
10 files changed
+560
-21
No files matched your search
@@ -1,20 +1,4 @@
|
||||
---
|
||||
- name: Setup backup storage password
|
||||
copy:
|
||||
content: "{{ backup_storage_key }}"
|
||||
dest: "{{ backup_home }}/.borg.key"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0600"
|
||||
|
||||
- name: Setup ssh folder
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ backup_home }}/.ssh"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0700"
|
||||
|
||||
- name: Setup ssh keys
|
||||
copy:
|
||||
content: "{{ item.content }}"
|
||||
|
||||
+18
-2
@@ -25,9 +25,25 @@
|
||||
name: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
comment: backup user
|
||||
shell: /sbin/nologin
|
||||
shell: /bin/bash
|
||||
home: "{{ backup_home }}"
|
||||
|
||||
- name: Setup backup storage password
|
||||
copy:
|
||||
content: "{{ backup_storage_key }}"
|
||||
dest: "{{ backup_home }}/.borg.key"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0600"
|
||||
|
||||
- name: Setup ssh folder
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ backup_home }}/.ssh"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0700"
|
||||
|
||||
- name: setup backup storage
|
||||
file:
|
||||
state: directory
|
||||
@@ -36,7 +52,7 @@
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0777"
|
||||
|
||||
- include_tasks: master.yml
|
||||
- include_tasks: server.yml
|
||||
when: not backup_client
|
||||
|
||||
- include_tasks: client.yml
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
---
|
||||
@@ -0,0 +1,118 @@
|
||||
---
|
||||
- name: setup backup installation folder
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ backup_inst }}"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0750"
|
||||
|
||||
- name: install dateutil library service
|
||||
apt:
|
||||
update_cache: yes
|
||||
state: "{% if cloud_update | bool %}latest{% else %}present{% endif %}"
|
||||
install_recommends: yes
|
||||
pkg:
|
||||
- python3-dateutil
|
||||
- rsync
|
||||
|
||||
- name: setup filter program for backup pruning
|
||||
copy:
|
||||
src: opt/backup/filter_backups.py
|
||||
dest: "{{ backup_inst }}/filter_backups.py"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0750"
|
||||
|
||||
- name: setup ssh public keys of clients
|
||||
copy:
|
||||
content: "{{ backup_clients[item].sshpubkey }}"
|
||||
dest: "{{ backup_home }}/.ssh/{{ item }}.pub"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0600"
|
||||
loop: "{{ backup_clients.keys() }}"
|
||||
|
||||
- name: setup ssh private keys of clients
|
||||
copy:
|
||||
content: "{{ backup_clients[item].sshprivkey }}"
|
||||
dest: "{{ backup_home }}/.ssh/{{ item }}"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0600"
|
||||
loop: "{{ backup_clients.keys() }}"
|
||||
|
||||
- name: setup ssh config of clients
|
||||
template:
|
||||
src: "home/backup/.ssh/config.j2"
|
||||
dest: "{{ backup_home }}/.ssh/config"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0600"
|
||||
|
||||
- name: setup backup key folder
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ backup_key_folder }}"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0700"
|
||||
|
||||
- name: setup borg repository keys
|
||||
copy:
|
||||
content: "{{ backup_clients[item].borgkey }}"
|
||||
dest: "{{ backup_key_folder }}/{{ backup_clients[item].app }}"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0600"
|
||||
loop: "{{ backup_clients.keys() }}"
|
||||
|
||||
- name: setup local backup storage folder
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ item }}"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0750"
|
||||
loop:
|
||||
- "{{ backup_remotes_folder }}"
|
||||
- "{{ backup_location }}/{{ backup_app }}"
|
||||
|
||||
- name: setup borg local repository
|
||||
shell:
|
||||
cmd: "BORG_PASSPHRASE=$(cat {{ backup_home }}/.borg.key) borg init --encryption repokey {{ backup_location }}/{{ backup_app }}"
|
||||
creates: "{{ backup_location }}/{{ backup_app }}/config"
|
||||
become_user: "{{ backup_owner }}"
|
||||
become: yes
|
||||
|
||||
- name: setup borg server script
|
||||
template:
|
||||
src: "opt/backup/inst/cloud-server-backup.j2"
|
||||
dest: "{{ backup_inst }}/cloud-server-backup"
|
||||
owner: "{{ backup_owner }}"
|
||||
group: "{{ backup_group }}"
|
||||
mode: "0750"
|
||||
|
||||
- name: setup remote prune cron backup server job
|
||||
cron:
|
||||
name: "cloud server remote prune"
|
||||
user: "{{ backup_cron_owner }}"
|
||||
job: "{{ backup_inst }}/cloud-server-backup remote-prune"
|
||||
hour: "{{ backup_server_remote_prune_time }}"
|
||||
minute: 0
|
||||
|
||||
- name: setup remote backup cron backup server job
|
||||
cron:
|
||||
name: "cloud server remote backup"
|
||||
user: "{{ backup_cron_owner }}"
|
||||
job: "{{ backup_inst }}/cloud-server-backup backup"
|
||||
hour: "{{ backup_server_remote_backup_time }}"
|
||||
minute: 0
|
||||
|
||||
- name: setup local prune cron backup server job
|
||||
cron:
|
||||
name: "cloud server local prune"
|
||||
user: "{{ backup_cron_owner }}"
|
||||
job: "{{ backup_inst }}/cloud-server-backup prune"
|
||||
hour: "{{ backup_server_local_prune_time }}"
|
||||
minute: 0
|
||||
Reference in new issue
Block a user