74 lines
1.7 KiB
YAML
74 lines
1.7 KiB
YAML
# vim: ft=yaml.ansible
|
|
# code: language=ansible
|
|
---
|
|
- name: Create SSH directory
|
|
file:
|
|
path: "{{ services.restic.volume_folder }}/ssh"
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|
|
state: directory
|
|
|
|
- name: Upload private SSH key
|
|
copy:
|
|
dest: "{{ services.restic.volume_folder }}/ssh/id_ed25519"
|
|
owner: root
|
|
group: root
|
|
mode: '0600'
|
|
content: "{{ restic_secrets.ssh_privkey }}"
|
|
|
|
- name: Derive public SSH key
|
|
shell: >-
|
|
ssh-keygen -f {{ services.restic.volume_folder }}/ssh/id_ed25519 -y
|
|
> {{ services.restic.volume_folder }}/ssh/id_ed25519.pub
|
|
args:
|
|
creates: "{{ services.restic.volume_folder }}/ssh/id_ed25519.pub"
|
|
|
|
- name: Set file permissions on public SSH key
|
|
file:
|
|
path: "{{ services.restic.volume_folder }}/ssh/id_ed25519.pub"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
state: touch
|
|
|
|
- name: Upload SSH config
|
|
template:
|
|
src: restic/ssh.config.j2
|
|
dest: "{{ services.restic.volume_folder }}/ssh/config"
|
|
owner: root
|
|
group: root
|
|
mode: '0600'
|
|
|
|
- name: Upload SSH known_hosts file
|
|
template:
|
|
src: restic/ssh.known_hosts.j2
|
|
dest: "{{ services.restic.volume_folder }}/ssh/known_hosts"
|
|
owner: root
|
|
group: root
|
|
mode: '0600'
|
|
|
|
- name: Create scripts directory
|
|
file:
|
|
path: "{{ services.restic.volume_folder }}/scripts"
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|
|
state: directory
|
|
|
|
- name: Upload failure.sh script
|
|
template:
|
|
src: restic/failure.sh.j2
|
|
dest: "{{ services.restic.volume_folder }}/scripts/failure.sh"
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|
|
|
|
- name: Upload success.sh script
|
|
template:
|
|
src: restic/success.sh.j2
|
|
dest: "{{ services.restic.volume_folder }}/scripts/success.sh"
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|