summaryrefslogtreecommitdiff
path: root/roles/elevate
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-10-12 03:27:17 +0200
committerChristian Pointner <equinox@spreadspace.org>2019-10-12 03:27:17 +0200
commit82a1c03cf246f5b185fc355ffb517ef1195953a9 (patch)
treef2b809259125d1860d1fbaae80510730cdd20439 /roles/elevate
parentfix nginx role (diff)
use new nginx role for elevate/media
Diffstat (limited to 'roles/elevate')
-rw-r--r--roles/elevate/media/handlers/main.yml5
-rw-r--r--roles/elevate/media/tasks/main.yml11
-rw-r--r--roles/elevate/media/tasks/nginx.yml75
3 files changed, 9 insertions, 82 deletions
diff --git a/roles/elevate/media/handlers/main.yml b/roles/elevate/media/handlers/main.yml
index d5997632..a4f722af 100644
--- a/roles/elevate/media/handlers/main.yml
+++ b/roles/elevate/media/handlers/main.yml
@@ -16,8 +16,3 @@
service:
name: smbd
state: restarted
-
-- name: restart nginx
- service:
- name: nginx
- state: restarted
diff --git a/roles/elevate/media/tasks/main.yml b/roles/elevate/media/tasks/main.yml
index 78d75ae2..77d53d23 100644
--- a/roles/elevate/media/tasks/main.yml
+++ b/roles/elevate/media/tasks/main.yml
@@ -20,8 +20,15 @@
- name: install and configure nextcloud
import_tasks: nextcloud.yml
-- name: configure nginx
- import_tasks: nginx.yml
+- name: install and configure nginx
+ import_role:
+ name: nginx
+ vars:
+ nginx_vhosts:
+ nextcloud:
+ content: "{{ lookup('template', 'nextcloud-nginx.conf.j2') }}"
+ acme: true
+ hostnames: "{{ nextcloud_hostnames }}"
- name: install dstat script
template:
diff --git a/roles/elevate/media/tasks/nginx.yml b/roles/elevate/media/tasks/nginx.yml
deleted file mode 100644
index 435cc751..00000000
--- a/roles/elevate/media/tasks/nginx.yml
+++ /dev/null
@@ -1,75 +0,0 @@
----
-## TODO: most of these steps could probably be moved to generic role
-
-- name: remove nginx default config
- file:
- name: /etc/nginx/sites-enabled/default
- state: absent
- notify: restart nginx
-
-- name: install nginx config snippets
- loop:
- - ssl
- - hsts
- copy:
- src: "{{ global_files_dir }}/common/nginx-snippets/{{ item }}.conf"
- dest: /etc/nginx/snippets/
- notify: restart nginx
-
-- name: generate Diffie-Hellman parameters
- openssl_dhparam:
- path: /etc/ssl/dhparams.pem
- size: 2048
- notify: restart nginx
-
-- name: install nginx config
- template:
- src: nextcloud-nginx.conf.j2
- dest: /etc/nginx/sites-available/nextcloud
- notify: restart nginx
-
-- name: check if acme certs already exist
- loop: "{{ nextcloud_hostnames }}"
- stat:
- path: "/var/lib/acme/live/{{ item }}"
- register: acme_cert_stat
-
-- name: set acmecert_missing_hostnames variable
- set_fact:
- acmecert_missing_hostnames: "{{ acme_cert_stat.results | acme_cert_nonexistent(nextcloud_hostnames) }}"
-
-- name: link nonexistent hostnames to self-signed interim cert
- when: acmecert_missing_hostnames | length > 0
- block:
- - name: get id of existing selfsigned interim certificate
- command: cat /var/lib/acme/.selfsigned-interim-cert
- changed_when: false
- check_mode: false
- register: selfsigned_interim_cert_id
-
- - name: set selfsigned_interim_cert_id variable
- set_fact:
- selfsigned_interim_cert_id: "{{ selfsigned_interim_cert_id.stdout }}"
-
- - name: link to snakeoil cert for nonexistent hostnames
- loop: "{{ acmecert_missing_hostnames }}"
- file:
- src: "../certs/{{ selfsigned_interim_cert_id }}"
- dest: "/var/lib/acme/live/{{ item }}"
- state: link
-
-- name: enable vhost config using acme cert
- file:
- src: ../sites-available/nextcloud
- dest: /etc/nginx/sites-enabled/nextcloud
- state: link
-
-- name: make sure nginx config has been (re)loaded
- meta: flush_handlers
-
-- name: get certificate using acmetool
- import_role:
- name: acmetool/cert
- vars:
- acmetool_cert_name: "{{ nextcloud_hostnames[0] }}"
- acmetool_cert_hostnames: "{{ nextcloud_hostnames }}"