From 7e736b0e194e0c589abafee14b639bca691197cd Mon Sep 17 00:00:00 2001
From: Alexandre Iooss <erdnaxe@crans.org>
Date: Sat, 11 Apr 2020 14:44:35 +0200
Subject: [PATCH] Owncloud AutoFS role

---
 roles/owncloud-autofs/handlers/main.yml       |  5 +++
 roles/owncloud-autofs/tasks/main.yml          | 41 +++++++++++++++++++
 .../templates/cron.d/owncloud-clean-autofs.j2 |  2 +
 3 files changed, 48 insertions(+)
 create mode 100644 roles/owncloud-autofs/handlers/main.yml
 create mode 100644 roles/owncloud-autofs/tasks/main.yml
 create mode 100644 roles/owncloud-autofs/templates/cron.d/owncloud-clean-autofs.j2

diff --git a/roles/owncloud-autofs/handlers/main.yml b/roles/owncloud-autofs/handlers/main.yml
new file mode 100644
index 00000000..b075971f
--- /dev/null
+++ b/roles/owncloud-autofs/handlers/main.yml
@@ -0,0 +1,5 @@
+---
+- name: Restart autofs service
+  service:
+    name: autofs
+    state: restarted
diff --git a/roles/owncloud-autofs/tasks/main.yml b/roles/owncloud-autofs/tasks/main.yml
new file mode 100644
index 00000000..41392e1c
--- /dev/null
+++ b/roles/owncloud-autofs/tasks/main.yml
@@ -0,0 +1,41 @@
+---
+- name: Install autofs and bindfs
+  apt:
+    update_cache: true
+    name:
+      - autofs
+      - bindfs
+  register: apt_result
+  retries: 3
+  until: apt_result is succeeded
+
+#- name: Configure autofs deamon
+#  template:
+#    src: "{{ item }}.j2"
+#    dest: "/etc/{{ item }}"
+#    mode: 0644
+#  loop:
+#    - default/autofs
+#    - auto.master
+#  notify: Restart autofs service
+
+#- name: Configure home-adh autofs
+#  template:
+#    src: "auto.master.d/{{ item.0 }}.j2"
+#    dest: "/etc/auto.master.d/{{ item.0 }}"
+#    mode: "{{ item.1 }}"
+#  loop:
+#    - ["home-adh.autofs", "0644"]
+#    - ["home-adh.sh", "0755"]
+#  notify: Restart autofs service
+
+- name: Install autoclean cron
+  template:
+    src: cron.d/owncloud-clean-autofs.j2
+    dest: /etc/cron.d/owncloud-clean-autofs
+
+- name: Start autofs service
+  systemd:
+    name: autofs
+    enabled: true
+    state: started
diff --git a/roles/owncloud-autofs/templates/cron.d/owncloud-clean-autofs.j2 b/roles/owncloud-autofs/templates/cron.d/owncloud-clean-autofs.j2
new file mode 100644
index 00000000..a525ac32
--- /dev/null
+++ b/roles/owncloud-autofs/templates/cron.d/owncloud-clean-autofs.j2
@@ -0,0 +1,2 @@
+# {{ ansible_managed }}
+*/15 * * * * root /bin/ls -l /home-owncloud/ 2>/dev/null | /bin/grep d????????? | /usr/bin/awk '{print $7}' | /usr/bin/xargs -I '@LOGIN@' /bin/umount /home-owncloud/@LOGIN@