diff options
| author | Colin Wilk <colin@wilk.cx> | 2026-06-28 22:47:11 +0200 |
|---|---|---|
| committer | Colin Wilk <colin@wilk.cx> | 2026-06-28 23:18:35 +0200 |
| commit | 7d96c1a11fc442b4efddf9ce5250cf0a9dfaf02e (patch) | |
| tree | 5561dbeee61aaab05e21f3bc2895ff703a2ce137 /molecule/default/converge.yml | |
| parent | 785e6c88e4c0a3ccc44fd357b4f693c5aadd432c (diff) | |
| download | ansible-role-borgbackup-7d96c1a11fc442b4efddf9ce5250cf0a9dfaf02e.tar.gz ansible-role-borgbackup-7d96c1a11fc442b4efddf9ce5250cf0a9dfaf02e.zip | |
Parametrize server-side borg user
Adds option to choose a non-default borg backup user on the server.
Diffstat (limited to 'molecule/default/converge.yml')
| -rw-r--r-- | molecule/default/converge.yml | 54 |
1 files changed, 41 insertions, 13 deletions
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml index d5d118d..21d4899 100644 --- a/molecule/default/converge.yml +++ b/molecule/default/converge.yml @@ -14,35 +14,50 @@ # This would usually be set by the user globally on their ansible # repository and can be a security risk to do automatically. We will # however set the variable here in the pre_tasks since it is for testing. - - name: Start ssh + - name: Start ssh on borg-server ansible.builtin.systemd: name: sshd state: started become: true - delegate_to: "{{ borg_server_host }}" + delegate_to: borg-server - - name: Fetch ssh_key + - name: Start ssh on borg-server-2 + ansible.builtin.systemd: + name: sshd + state: started + become: true + delegate_to: borg-server-2 + + - name: Fetch ssh_key for borg-server ansible.builtin.command: >- - ssh-keyscan -t rsa {{ borg_server_host }} | sed "s/^[^ ]* //" + ssh-keyscan -t rsa borg-server | sed "s/^[^ ]* //" register: borg_server_ssh_keyscan changed_when: false - - name: Set ssh_key + - name: Fetch ssh_key for borg-server-2 + ansible.builtin.command: >- + ssh-keyscan -t rsa borg-server-2 | sed "s/^[^ ]* //" + register: borg_server_2_ssh_keyscan + changed_when: false + + - name: Set ssh_key for borg-server ansible.builtin.set_fact: borg_server_host_ssh_key: >- {{ borg_server_ssh_keyscan.stdout | split(" ") | reject("search", borg_server_host) | join(" ") }} + when: borg_server_host_ssh_key is not defined - - name: Create backup user for non-root test +- name: Setup - Create custom borg user on borg-server-2 + hosts: borg-server-2 + tasks: + - name: Create backupserver user ansible.builtin.user: - name: backupuser - home: /home/backupuser + name: backupserver + home: /var/backups shell: /bin/bash - state: present become: true - when: inventory_hostname == 'borg-client-nonroot' - name: Converge - Default borg-client hosts: borg-client @@ -61,14 +76,18 @@ - /var - /reee reeee -- name: Converge - borg-client-2 +- name: Converge - borg-client-2 (custom server user) hosts: borg-client-2 + vars: + borg_server_host_ssh_key: "{{ hostvars['localhost']['borg_server_2_ssh_keyscan']['stdout'] | split(' ') | reject('search', 'borg-server-2') | join(' ') }}" + roles: - role: kliwniloc.borgbackup vars: - borg_server_host: borg-server - borg_server_user_home: /opt/borg + borg_server_host: borg-server-2 + borg_server_user: backupserver + borg_server_user_home: /var/backups borg_decryption_keys_yaml_path: "" borg_ssh_key_type: ed25519 borg_backup_service_successful_exit_status: @@ -118,6 +137,15 @@ - name: Converge - Non-root backup user hosts: borg-client-nonroot + pre_tasks: + - name: Create backup user for non-root test + ansible.builtin.user: + name: backupuser + home: /home/backupuser + shell: /bin/bash + state: present + become: true + roles: - role: kliwniloc.borgbackup vars: |