diff options
| author | Colin Wilk <colin@wilk.cx> | 2026-06-26 22:35:40 +0000 |
|---|---|---|
| committer | Colin Wilk <colin@wilk.cx> | 2026-06-27 15:43:21 +0200 |
| commit | e15d494e96e9f9e6cdf21676ce3644c7894b3b53 (patch) | |
| tree | 51266a035df33c1ff9204299fdd0b89bd8adca4a /molecule/default/converge.yml | |
| parent | b8d11180605fbf193e76fba04bb63b5ea4908dcf (diff) | |
| download | ansible-role-borgbackup-e15d494e96e9f9e6cdf21676ce3644c7894b3b53.tar.gz ansible-role-borgbackup-e15d494e96e9f9e6cdf21676ce3644c7894b3b53.zip | |
test: add larger test suite for role
- Add test systems for client/server setup
- Add tests for systemd service and timer files
- Add tests for SSH connectivity
- Add tests for security configurations
- Add tests for multi-instance backup scenarios
Diffstat (limited to 'molecule/default/converge.yml')
| -rw-r--r-- | molecule/default/converge.yml | 83 |
1 files changed, 66 insertions, 17 deletions
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml index 4c8aa06..c77202c 100644 --- a/molecule/default/converge.yml +++ b/molecule/default/converge.yml @@ -1,9 +1,12 @@ --- -- name: Converge +- name: Setup - Configure SSH keys for all hosts hosts: - borg-client - - borg-client-success-exit-status - serial: 1 + - borg-client-2 + - borg-client-multi + + vars: + borg_server_host: borg-server pre_tasks: # This would usually be set by the user globally on their ansible @@ -20,10 +23,8 @@ delegate_to: "{{ borg_server_host }}" - name: Fetch ssh_key - ansible.builtin.command: > - ssh-keyscan -t rsa - {{ borg_server_host }} - | sed "s/^[^ ]* //" + ansible.builtin.command: >- + ssh-keyscan -t rsa {{ borg_server_host }} | sed "s/^[^ ]* //" register: borg_server_ssh_keyscan changed_when: false @@ -35,24 +36,72 @@ | reject("search", borg_server_host) | join(" ") }} - - name: Allow additional successful exit codes on alternate client - ansible.builtin.set_fact: +- name: Converge - Default borg-client + hosts: borg-client + + roles: + - role: kliwniloc.borgbackup + vars: + borg_server_host: borg-server + borg_server_user_home: /opt/borg + borg_decryption_keys_yaml_path: "{{ playbook_dir }}/decryption_keys.yml" + borg_included_dirs: + - /etc + - /home + borg_excluded_dirs: + - /opt + - /var + - /reee reeee + +- name: Converge - borg-client-2 + hosts: borg-client-2 + + roles: + - role: kliwniloc.borgbackup + vars: + borg_server_host: borg-server + borg_server_user_home: /opt/borg + borg_decryption_keys_yaml_path: "{{ playbook_dir }}/decryption_keys.yml" borg_backup_service_successful_exit_status: - 1 - TEMPFAIL - when: inventory_hostname == 'borg-client-success-exit-status' + borg_compression: lz4 + borg_systemd_oncalendar: "*-*-* 03:00:00" + borg_included_dirs: + - /etc + - /home + borg_excluded_dirs: + - /opt + - /var + - /reee reeee + +- name: Converge - Multi-instance backup (same host, different repos) + hosts: borg-client-multi + serial: 1 vars: borg_server_host: borg-server borg_server_user_home: /opt/borg borg_decryption_keys_yaml_path: "{{ playbook_dir }}/decryption_keys.yml" - borg_included_dirs: - - /etc - - /home - borg_excluded_dirs: - - /opt - - /var - - /reee reeee roles: - role: kliwniloc.borgbackup + vars: + borg_repo_name: configs + borg_backup_argument: configs + borg_compression: zstd + borg_included_dirs: + - /etc + borg_excluded_dirs: [] + borg_systemd_oncalendar: "*-*-* 02:00:00" + + - role: kliwniloc.borgbackup + vars: + borg_repo_name: home-data + borg_backup_argument: home-data + borg_compression: lz4 + borg_included_dirs: + - /home + borg_excluded_dirs: + - /home/*/.cache + borg_systemd_oncalendar: "*-*-* 04:00:00" |