diff --git a/defaults/main.yml b/defaults/main.yml index 78f904b0c76112a7c3a752d80953c89db1c57182..6a767cf2a560861ffae81f44b4f9e7455a2ab8be 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,4 +1,6 @@ --- +borgbackup_target_group: borgbackup +borgbackup_target_user: borgbackup borgbackup_compression: "zstd" borgbackup_exclude_dirs: - sh:/home/*/.gvfs @@ -30,6 +32,7 @@ borgbackup_exclude_dirs: - sh:/home/*/**/bower_components borgbackup_pool: "/mnt/borgpool" +borgbackup_repo_path: "backup" borgbackup_keep_within: 7d borgbackup_keep_daily: 21 borgbackup_keep_weekly: 8 diff --git a/tasks/main.yml b/tasks/main.yml index d9f40f77e6ad82fde1529fbacb26951eac04a919..7405e0e1584c00893ab1aa305b1ab989edd4be69 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -17,7 +17,7 @@ - name: Check if Repo already exists stat: - path: "{{ borgbackup_pool }}/{{ ansible_hostname }}/backup" + path: "{{ borgbackup_pool }}/{{ ansible_hostname }}/{{ borgbackup_repo_path }}" register: repo delegate_to: "{{ borgbackup_target_host }}" @@ -37,7 +37,7 @@ key: "{{ borgbackup_target_ip }} ssh-ed25519 {{ hostvars[borgbackup_target_host]['ansible_ssh_host_key_ed25519_public'] }}" - name: Create Borg Repo - command: "borg init -e repokey borgbackup@{{ borgbackup_target_ip }}:backup" + command: "borg init -e repokey {{ borgbackup_target_user }}@{{ borgbackup_target_ip }}:{{ borgbackup_repo_path }}" environment: BORG_PASSPHRASE: "{{ borgbackup_key }}" when: not repo.stat.exists diff --git a/tasks/onserver.yml b/tasks/onserver.yml index 9343f1dc0472a4695f93b8d332fde32b7acf5a9f..4f17d4484fa8738b250942eef5f2ce9160af7a65 100644 --- a/tasks/onserver.yml +++ b/tasks/onserver.yml @@ -1,12 +1,12 @@ --- - name: Create Group group: - name: "borgbackup" + name: "{{ borgbackup_target_group }}" ignore_errors: true register: create_group - name: Create Group Fallback - command: addgroup borgbackup + command: "addgroup {{ borgbackup_target_group }}" register: create_group_fallback failed_when: - create_group_fallback.rc != 0 @@ -16,13 +16,13 @@ - name: Create User user: - name: "borgbackup" - group: "borgbackup" + name: "{{ borgbackup_target_user }}" + group: "{{ borgbackup_target_group }}" ignore_errors: true register: create_user - name: Create User Fallback - command: adduser -D -G borgbackup borgbackup + command: "adduser -D -G {{ borgbackup_target_group }} {{ borgbackup_target_user }}" register: create_user_fallback failed_when: - create_user_fallback.rc != 0 @@ -33,8 +33,8 @@ - name: Set permissions file: path: "{{ item }}" - owner: "borgbackup" - group: "borgbackup" + owner: "{{ borgbackup_target_user }}" + group: "{{ borgbackup_target_group }}" mode: 0700 state: directory with_items: @@ -43,7 +43,7 @@ - name: Add public key authorized_key: - user: "borgbackup" + user: "{{ borgbackup_target_user }}" key: "{{ borgbackup_source_key }}" # yamllint disable-line rule:line-length key_options: "command=\"cd {{ hostvars[borgbackup_target_host]['borgbackup_pool'] | default(borgbackup_pool) }}/{{ borgbackup_source_host }};borg serve --restrict-to-path {{ hostvars[borgbackup_target_host]['borgbackup_pool'] | default(borgbackup_pool) }}/{{ borgbackup_source_host }}\",restrict" diff --git a/templates/config.yaml.j2 b/templates/config.yaml.j2 index 6e63e129315a426289febc5e7d3944bdd188d15f..823675513b278b73103dd7831b170640ceca0e23 100644 --- a/templates/config.yaml.j2 +++ b/templates/config.yaml.j2 @@ -7,7 +7,7 @@ location: # Paths to local or remote repositories. repositories: - - borgbackup@{{ borgbackup_target_ip }}:backup + - "{{ borgbackup_target_user }}@{{ borgbackup_target_ip }}:{{ borgbackup_repo_path }}" exclude_patterns: {% for item in borgbackup_exclude_dirs %}