Inital offsite commit

This commit is contained in:
Tim Schilling
2024-11-28 08:43:20 +01:00
parent bb0b2f607e
commit f495259c72
2 changed files with 70 additions and 18 deletions
+61 -17
View File
@@ -2,23 +2,32 @@
- name: WebDAV Freigabe einbinden - name: WebDAV Freigabe einbinden
hosts: webdav_testserver hosts: webdav_testserver
become: true 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: tasks:
- name: DavFS2 installieren - name: Installiere rclone
apt: apt:
name: davfs2 name: rclone
state: present state: present
when: ansible_facts['os_family'] == 'Debian'
- name: Benutzerrechte für davfs2 einrichten - name: Verschlüssele das WebDAV-Passwort mit rclone obscure
lineinfile: command: rclone obscure "{{ webdav_password }}"
path: /etc/fstab register: obscure_output
line: "{{ webdav_url }} {{ mount_point }} davfs rw,user,noauto 0 0"
state: present
- name: WebDAV-Zugangsdaten hinzufügen - name: WebDAV-Konfigurationsdatei erstellen
copy: copy:
dest: /etc/davfs2/secrets dest: /root/.config/rclone/rclone.conf
content: | content: |
{{ webdav_url }} {{ webdav_user }} {{ webdav_password }} [webdav]
type = webdav
url = {{ webdav_url }}
vendor = other
user = {{ webdav_user }}
pass = {{ obscure_output.stdout }}
owner: root owner: root
group: root group: root
mode: "0600" mode: "0600"
@@ -29,10 +38,45 @@
state: directory state: directory
mode: "0755" mode: "0755"
- name: WebDAV Freigabe einbinden - name: WebDAV Freigabe mounten
ansible.posix.mount: command: >
path: "{{ mount_point }}" rclone mount webdav: {{ mount_point }} --daemon --allow-other
src: "{{ webdav_url }}" args:
fstype: davfs creates: "{{ mount_point }}/.mounted"
opts: rw,user,noauto
state: 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'
+9 -1
View File
@@ -9,5 +9,13 @@ ansible_private_key_file = keys/id_ed25519
[webserver] [webserver]
linuxerver linuxerver
[backuptransfer:childern]
webdav_testserver
dockerhost
[webdav_testserver] [webdav_testserver]
Tim-TT-01.kitl.bayern Tim-TT-01.kitl.bayern
[dockerhost]
Tim-tt-02.kitl.bayern