diff options
Diffstat (limited to 'tasks/server_setup.yml')
| -rw-r--r-- | tasks/server_setup.yml | 64 |
1 files changed, 57 insertions, 7 deletions
diff --git a/tasks/server_setup.yml b/tasks/server_setup.yml index e47d012..66b92bd 100644 --- a/tasks/server_setup.yml +++ b/tasks/server_setup.yml @@ -1,10 +1,60 @@ --- -- name: Create borg user - ansible.builtin.user: - name: borg - comment: Borgbackup user - create_home: true - home: "{{ borg_server_user_home }}" - generate_ssh_key: true +- name: Create borg_server_user on server + when: borg_server_user_create + block: + - name: Create borg user + ansible.builtin.user: + name: "{{ borg_server_user }}" + comment: Borgbackup user + create_home: true + home: "{{ borg_server_user_home }}" + generate_ssh_key: false + become: true + delegate_to: "{{ borg_server_host }}" + +- name: Ensure borg_server_user exists + ansible.builtin.getent: + database: passwd + key: "{{ borg_server_user }}" + become: true + delegate_to: "{{ borg_server_host }}" + +- name: Fail if borg_server_user does not exist + ansible.builtin.fail: + msg: | + User {{ borg_server_user }} does not exist on {{ borg_server_host }}. + Please create the user before running this role or set borg_server_user_create: true. + when: getent_passwd[borg_server_user] is not defined + delegate_to: "{{ borg_server_host }}" + +- name: Ensure borg server user home directory exists + ansible.builtin.file: + path: "{{ borg_server_user_home }}" + state: directory + owner: "{{ borg_server_user }}" + group: "{{ borg_server_user }}" + mode: "0700" + become: true + delegate_to: "{{ borg_server_host }}" + +- name: Ensure .ssh directory exists + ansible.builtin.file: + path: "{{ borg_server_user_home }}/.ssh" + state: directory + owner: "{{ borg_server_user }}" + group: "{{ borg_server_user }}" + mode: "0700" + become: true + delegate_to: "{{ borg_server_host }}" + +- name: Ensure authorized_keys file exists + ansible.builtin.file: + path: "{{ borg_server_user_home }}/.ssh/authorized_keys" + state: touch + owner: "{{ borg_server_user }}" + group: "{{ borg_server_user }}" + mode: "0600" + access_time: preserve + modification_time: preserve become: true delegate_to: "{{ borg_server_host }}" |