From 030908b724e706c93191f21dccf8447da9e47800 Mon Sep 17 00:00:00 2001
From: sofubi <thomaslawton91@gmail.com>
Date: Fri, 20 Nov 2020 10:29:49 -0500
Subject: [PATCH] Changes nginx.yml taks to install certbot snap Changes
 packages.yml task tin install snapd

---
 tasks/nginx.yml    | 31 +++++++++++++++++++++----------
 tasks/packages.yml |  1 +
 2 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/tasks/nginx.yml b/tasks/nginx.yml
index 3dbe81c..3d71654 100644
--- a/tasks/nginx.yml
+++ b/tasks/nginx.yml
@@ -14,23 +14,34 @@
     state: started
 
 # from https://gist.github.com/mattiaslundberg/ba214a35060d3c8603e9b1ec8627d349
-- name: "Download certbot-auto"
+- name: "Prepare snapd for certbot installation"
   when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled
   become: true
-  get_url:
-    url: https://dl.eff.org/certbot-auto
-    dest: /usr/local/bin/certbot-auto
-    mode: 0750
+  command: snap install core
+  
+- name: "Refresh core snap before installing certbot"
+  when: funkwhwale_nginx_managed and funkwhale_letsencrypt_enabled
+  become: true
+  command: snap refresh core
 
-- name: "Install certbot using certbot-auto"
-  when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled
+- name: "Install certbot snap"
+  when: funkwhwale_nginx_managed and funkwhale_letsencrypt_enabled
+  become: true
+  command: snap install --classic certbot
+
+- name: "Link certbot snap installation"
+  when: funkwhwale_nginx_managed and funkwhale_letsencrypt_enabled
+  become: true
+  command: ln -s /snap/bin/certbot /usr/bin/certbot
+
+- name: "Link certbot snap installation"
+  when: funkwhwale_nginx_managed and funkwhale_letsencrypt_enabled
   become: true
-  command: certbot-auto --install-only -n -v
 
 - name: Create letsencrypt certificate
   when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled and not funkwhale_letsencrypt_skip_cert
   become: true
-  command: certbot-auto -v -n certonly --nginx -m {{ funkwhale_letsencrypt_email }} --agree-tos -d {{ funkwhale_hostname }} {{ funkwhale_letsencrypt_certbot_flags }}
+  command: certbot -v -n certonly --nginx -m {{ funkwhale_letsencrypt_email }} --agree-tos -d {{ funkwhale_hostname }} {{ funkwhale_letsencrypt_certbot_flags }}
   args:
     creates: /etc/letsencrypt/live/{{ funkwhale_hostname }}
 
@@ -40,7 +51,7 @@
   cron:
     name: funkwhale_letsencrypt_renewal
     special_time: weekly
-    job: /usr/local/bin/certbot-auto -v -n certonly --nginx -m {{ funkwhale_letsencrypt_email }} --agree-tos -d {{ funkwhale_hostname }} {{ funkwhale_letsencrypt_certbot_flags }}
+    job: /usr/bin/certbot -v -n certonly --nginx -m {{ funkwhale_letsencrypt_email }} --agree-tos -d {{ funkwhale_hostname }} {{ funkwhale_letsencrypt_certbot_flags }}
 
 - name: "Create funkwhale proxy file"
   when: funkwhale_nginx_managed
diff --git a/tasks/packages.yml b/tasks/packages.yml
index c6113a2..6412b36 100644
--- a/tasks/packages.yml
+++ b/tasks/packages.yml
@@ -25,3 +25,4 @@
       - "curl"
       - "dbus"
       - "virtualenv"
+      - "snapd"
-- 
GitLab