--- /dev/null
+- name: Test if dehydrated is already cloned
+ local_action:
+ module: stat
+ path: /usr/local/src/LetsEncrypt/dehydrated/.git/config
+ register: dehydrated
+
+- name: Install git
+ local_action:
+ module: apt
+ autoclean: yes
+ autoremove: yes
+ install_recommends: no
+ name: git
+ purge: yes
+ state: latest
+ update_cache: yes
+ when: not dehydrated.stat.exists
+
+- name: Prepare to clone dehydrated
+ local_action:
+ module: file
+ path: /usr/local/src/LetsEncrypt
+ state: directory
+ when: not dehydrated.stat.exists
+
+- name: Clone dehydrated
+ local_action:
+ module: git
+ repo: https://github.com/lukas2511/dehydrated.git
+ dest: /usr/local/src/LetsEncrypt/dehydrated
+ when: not dehydrated.stat.exists
+
+- name: Prepare the server to syncronize dehydrated
+ become: true
+ file:
+ path: /usr/local/src/LetsEncrypt
+ state: directory
+ owner: root
+ group: staff
+ mode: "ug+rwx,o+rx,g+s"
+
+- name: Syncronize dehydrated to the server
+ synchronize:
+ src: /usr/local/src/LetsEncrypt/dehydrated
+ dest: /usr/local/src/LetsEncrypt
+
+- name: Configure dehydrated weekly run
+ become: true
+ copy:
+ src: dehydrated
+ dest: /etc/cron.weekly
+ owner: root
+ group: root
+ mode: '0700'