83 lines
2.2 KiB
YAML
83 lines
2.2 KiB
YAML
---
|
|
- name: WebDAV Freigabe einbinden
|
|
hosts: webdav_testserver
|
|
become: true
|
|
vars:
|
|
webdav_url: "https://www.kommsafe.de/webdav/Stadt%20K%C3%B6nigsbrunn/IuK/Schilling"
|
|
webdav_user: "tim.schilling@koenigsbrunn.de"
|
|
webdav_password: "HgdKS-P2004!"
|
|
mount_point: "/mnt/webdav"
|
|
tasks:
|
|
- name: Installiere rclone
|
|
apt:
|
|
name: rclone
|
|
state: present
|
|
when: ansible_facts['os_family'] == 'Debian'
|
|
|
|
- name: Verschlüssele das WebDAV-Passwort mit rclone obscure
|
|
command: rclone obscure "{{ webdav_password }}"
|
|
register: obscure_output
|
|
|
|
- name: WebDAV-Konfigurationsdatei erstellen
|
|
copy:
|
|
dest: /root/.config/rclone/rclone.conf
|
|
content: |
|
|
[webdav]
|
|
type = webdav
|
|
url = {{ webdav_url }}
|
|
vendor = other
|
|
user = {{ webdav_user }}
|
|
pass = {{ obscure_output.stdout }}
|
|
owner: root
|
|
group: root
|
|
mode: "0600"
|
|
|
|
- name: Mount-Punkt erstellen
|
|
file:
|
|
path: "{{ mount_point }}"
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: WebDAV Freigabe mounten
|
|
command: >
|
|
rclone mount webdav: {{ mount_point }} --daemon --allow-other
|
|
args:
|
|
creates: "{{ mount_point }}/.mounted"
|
|
|
|
- name: Docker Backupcontainer Starten
|
|
hosts: dockerhost
|
|
gather_facts: false
|
|
module_defaults:
|
|
tasks:
|
|
- name: Start container
|
|
community.docker.docker_container:
|
|
command: python
|
|
detach: false
|
|
name: my-python-container
|
|
output_logs: true
|
|
|
|
- name: Erstelle Test Datein
|
|
file:
|
|
path: /home/tim/export/data/testfile.json
|
|
state: touch
|
|
owner: tim
|
|
group: tim
|
|
mode: '0644'
|
|
|
|
|
|
- name: Datein Transferieren
|
|
hosts: backuptransfer
|
|
vars:
|
|
mount_point: "/mnt/webdav"
|
|
tasks:
|
|
- name: Datei von Dockerhost auf Master übertragen
|
|
run_once: true
|
|
fetch: src=/home/tim/extport/data/testfile.json dest=buffer/ flat=true
|
|
when: ansible_facts[inventory_hostname] == 'Tim-tt-02.kitl.bayern'
|
|
|
|
- name: Datei von Master auf Webdav übertragen
|
|
copy: src=buffer/ dest="{{ mount_point }}"
|
|
when: ansible_facts[inventory_hostname] == 'Tim-tt-01.kitl.bayern'
|
|
|
|
|