Files @ 8a6ebeaabb26
Branch filter:

Location: majic-ansible-roles/roles/backup_client/tasks/main.yml - annotation

branko
MAR-125: Eliminated a couple of warnings:

- Use the file module when cleaning-up the /etc/duply/main/gnupg directory.
- Mark the bind_password in m_ldap_entry and m_ldap_permissions as no_log
parameters.
a45dcc06530a
a45dcc06530a
d2a9e41cd838
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
6b87dd13b24c
a45dcc06530a
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
a45dcc06530a
a45dcc06530a
a45dcc06530a
a45dcc06530a
a45dcc06530a
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
a45dcc06530a
a45dcc06530a
a45dcc06530a
a45dcc06530a
a45dcc06530a
a45dcc06530a
a45dcc06530a
a45dcc06530a
a45dcc06530a
d61d01c00362
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
a45dcc06530a
d61d01c00362
d61d01c00362
d61d01c00362
a45dcc06530a
d61d01c00362
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
a45dcc06530a
d61d01c00362
d61d01c00362
d61d01c00362
a45dcc06530a
c6f217756635
279640b2178c
c6f217756635
c6f217756635
61e6cfb81789
c6f217756635
c6f217756635
279640b2178c
c6f217756635
3dca599dbdc9
c6f217756635
61e6cfb81789
c6f217756635
a45dcc06530a
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
a45dcc06530a
a45dcc06530a
a45dcc06530a
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
a45dcc06530a
3498d77cad32
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3498d77cad32
a45dcc06530a
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
a45dcc06530a
5e15f8ca16fc
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
5e15f8ca16fc
5e15f8ca16fc
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
5e15f8ca16fc
3686169e9565
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
3dca599dbdc9
7387caca37f3
f4962ad6a0ec
f4962ad6a0ec
f4962ad6a0ec
f4962ad6a0ec
f4962ad6a0ec
f4962ad6a0ec
f4962ad6a0ec
f4962ad6a0ec
f4962ad6a0ec
7387caca37f3
7387caca37f3
7387caca37f3
7387caca37f3
bfafd526bfc3
---

- name: Install pexpect for pexpect+sftp Duplicity backend (mainly needed on Stretch)
  apt:
    name: "python-pexpect"
    state: installed

- name: Install backup software
  apt:
    name: "{{ item }}"
    state: installed
  with_items:
    - duplicity
    - duply

- name: Set-up Duply directories
  file:
    path: "{{ item }}"
    state: directory
    owner: root
    group: root
    mode: 0700
  with_items:
    - "/etc/duply"
    - "/etc/duply/main"
    - "/etc/duply/main/patterns"
    - "/etc/duply/main/gnupg"
    - "/etc/duply/main/ssh"
    - "/var/cache/duply"
    - "/var/cache/duply/main"

- name: Deploy GnuPG private keys
  copy:
    content: "{{ backup_encryption_key }}"
    dest: "/etc/duply/main/private_keys.asc"
    owner: root
    group: root
    mode: 0600
  notify:
    - Clean-up GnuPG keyring for import of new keys
    - Import private keys
    - Import public keys

- name: Deploy GnuPG public keys
  copy:
    content: "{{ backup_additional_encryption_keys | join('\n') }}"
    dest: "/etc/duply/main/public_keys.asc"
    owner: root
    group: root
    mode: 0600
  notify:
    - Clean-up GnuPG keyring for import of new keys
    - Import private keys
    - Import public keys

- name: Extract encryption key identifier (Duplicty requires key ID in hexadecimal format)
  shell: "{{ gnupg_binary }} --list-packets /etc/duply/main/private_keys.asc | grep keyid: | head -n1 | sed -e 's/.*: //' | sed -re 's/^.{{ '{' + gnupg_key_cutoff + '}' }}//'"
  register: backup_encryption_key_id
  changed_when: False
  failed_when: backup_encryption_key_id.stdout == ""

- name: Extract additional encryption keys identifiers (Duplicty requires key ID in hexadecimal format)
  shell: "{{ gnupg_binary }} --list-packets /etc/duply/main/public_keys.asc | grep keyid: | sed -e 's/.*: //' | sort -u | sed -re 's/^.{{ '{' + gnupg_key_cutoff + '}' }}//' | tr '\n' ',' | sed -e 's/,$//'"
  when: backup_additional_encryption_keys
  register: backup_additional_encryption_keys_ids
  changed_when: False
  failed_when: backup_additional_encryption_keys_ids.stdout == ""

- name: Deploy private SSH key for logging-in into backup server
  copy:
    content: "{{ backup_ssh_key }}"
    dest: "/etc/duply/main/ssh/identity"
    owner: root
    group: root
    mode: 0600
  no_log: True

- name: Deploy custom known_hosts for backup purposes
  template:
    src: "known_hosts.j2"
    dest: "/etc/duply/main/ssh/known_hosts"
    owner: root
    group: root
    mode: 0600

- name: Deploy Duply configuration file
  template:
    src: "duply_main_conf.j2"
    dest: "/etc/duply/main/conf"
    owner: root
    group: root
    mode: 0600

- name: Deploy base exclude pattern (exclude all by default)
  copy:
    content: "- **"
    dest: "/etc/duply/main/exclude"
    owner: root
    group: root
    mode: 0600

- name: Set-up directory for storing pre-backup scripts
  file:
    path: "/etc/duply/main/pre.d/"
    state: directory
    owner: root
    group: root
    mode: 0700

- name: Set-up script for running all pre-backup scripts
  copy:
    src: "duply_pre"
    dest: "/etc/duply/main/pre"
    owner: root
    group: root
    mode: 0700

- name: Deploy crontab entry for running backups
  cron:
    name: backup
    cron_file: backup
    hour: 2
    minute: 0
    job: "/usr/bin/duply main backup"
    state: present
    user: root

- name: Ensure the file with include patterns exists (but do not overwrite)
  copy:
    content: ""
    dest: /etc/duply/main/include
    force: no
    group: root
    owner: root
    mode: 0600

- name: Explicitly run all handlers
  include: ../handlers/main.yml
  when: "handlers | default(False) | bool() == True"
  tags:
    - handlers