From bef0a0a3a662a83273d459d3c39eac3e1ee7b404 Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Tue, 1 Jan 2019 21:57:11 -0600 Subject: Split out nginx sites. --- roles/nginx/base/defaults/main.yaml | 3 +++ roles/nginx/base/handlers/main.yaml | 5 +++++ roles/nginx/base/tasks/certbot.yaml | 12 ++++++++++++ roles/nginx/base/tasks/main.yaml | 17 +++++++++++++++++ roles/nginx/defaults/main.yaml | 6 ------ roles/nginx/handlers/main.yaml | 5 ----- roles/nginx/site/defaults/main.yaml | 7 +++++++ roles/nginx/site/handlers/main.yaml | 5 +++++ roles/nginx/site/meta/main.yaml | 4 ++++ roles/nginx/site/tasks/main.yaml | 20 +++++++++++++++++++ roles/nginx/tasks/certbot.yaml | 17 ----------------- roles/nginx/tasks/main.yaml | 38 ------------------------------------- 12 files changed, 73 insertions(+), 66 deletions(-) create mode 100644 roles/nginx/base/defaults/main.yaml create mode 100644 roles/nginx/base/handlers/main.yaml create mode 100644 roles/nginx/base/tasks/certbot.yaml create mode 100644 roles/nginx/base/tasks/main.yaml delete mode 100644 roles/nginx/defaults/main.yaml delete mode 100644 roles/nginx/handlers/main.yaml create mode 100644 roles/nginx/site/defaults/main.yaml create mode 100644 roles/nginx/site/handlers/main.yaml create mode 100644 roles/nginx/site/meta/main.yaml create mode 100644 roles/nginx/site/tasks/main.yaml delete mode 100644 roles/nginx/tasks/certbot.yaml delete mode 100644 roles/nginx/tasks/main.yaml (limited to 'roles/nginx') diff --git a/roles/nginx/base/defaults/main.yaml b/roles/nginx/base/defaults/main.yaml new file mode 100644 index 0000000..44b37f8 --- /dev/null +++ b/roles/nginx/base/defaults/main.yaml @@ -0,0 +1,3 @@ +--- + +nginx_enable_ssl: No diff --git a/roles/nginx/base/handlers/main.yaml b/roles/nginx/base/handlers/main.yaml new file mode 100644 index 0000000..1feca07 --- /dev/null +++ b/roles/nginx/base/handlers/main.yaml @@ -0,0 +1,5 @@ +--- + +- name: restart nginx + become: yes + systemd: name="nginx" state="restarted" daemon_reload="yes" diff --git a/roles/nginx/base/tasks/certbot.yaml b/roles/nginx/base/tasks/certbot.yaml new file mode 100644 index 0000000..194f5c9 --- /dev/null +++ b/roles/nginx/base/tasks/certbot.yaml @@ -0,0 +1,12 @@ +--- + +# https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx + +- name: add certbot (letsencrypt) repo + become: yes + apt_repository: repo="ppa:certbot/certbot" + +- name: install nginx packages + become: yes + apt: name="python-certbot-nginx" + notify: restart nginx diff --git a/roles/nginx/base/tasks/main.yaml b/roles/nginx/base/tasks/main.yaml new file mode 100644 index 0000000..ee66773 --- /dev/null +++ b/roles/nginx/base/tasks/main.yaml @@ -0,0 +1,17 @@ +--- + +- name: install nginx packages + become: yes + apt: name="nginx" + +- name: disable default site + become: yes + file: path="/etc/nginx/sites-enabled/default" state="absent" + notify: restart nginx + +- import_tasks: certbot.yaml + when: nginx_enable_ssl + +- name: enable nginx service + become: yes + systemd: name="nginx" enabled="yes" state="started" diff --git a/roles/nginx/defaults/main.yaml b/roles/nginx/defaults/main.yaml deleted file mode 100644 index 895ce1d..0000000 --- a/roles/nginx/defaults/main.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- - -nginx_enable_ssl: No -nginx_port: 80 -nginx_ssl_port: 443 -nginx_server_name: "{{ansible_host}}" diff --git a/roles/nginx/handlers/main.yaml b/roles/nginx/handlers/main.yaml deleted file mode 100644 index 1feca07..0000000 --- a/roles/nginx/handlers/main.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- - -- name: restart nginx - become: yes - systemd: name="nginx" state="restarted" daemon_reload="yes" diff --git a/roles/nginx/site/defaults/main.yaml b/roles/nginx/site/defaults/main.yaml new file mode 100644 index 0000000..0092918 --- /dev/null +++ b/roles/nginx/site/defaults/main.yaml @@ -0,0 +1,7 @@ +--- + +nginx_port: 80 +nginx_ssl_port: 443 +nginx_server_name: "{{ansible_host}}" +nginx_conf_dst: "{{nginx_server_name}}.nginx.conf" +nginx_admin_email: "admin@{{nginx_server_name}}" diff --git a/roles/nginx/site/handlers/main.yaml b/roles/nginx/site/handlers/main.yaml new file mode 100644 index 0000000..1feca07 --- /dev/null +++ b/roles/nginx/site/handlers/main.yaml @@ -0,0 +1,5 @@ +--- + +- name: restart nginx + become: yes + systemd: name="nginx" state="restarted" daemon_reload="yes" diff --git a/roles/nginx/site/meta/main.yaml b/roles/nginx/site/meta/main.yaml new file mode 100644 index 0000000..af2cf0f --- /dev/null +++ b/roles/nginx/site/meta/main.yaml @@ -0,0 +1,4 @@ +--- + +dependencies: + - nginx/base diff --git a/roles/nginx/site/tasks/main.yaml b/roles/nginx/site/tasks/main.yaml new file mode 100644 index 0000000..9b51013 --- /dev/null +++ b/roles/nginx/site/tasks/main.yaml @@ -0,0 +1,20 @@ +--- + +- name: install site + become: yes + template: src="{{nginx_conf_src}}" dest="/etc/nginx/sites-available/{{nginx_conf_dst}}" + notify: restart nginx + +- name: install certbot in nginx + become: yes + command: "certbot certonly --nginx -n --agree-tos -d {{nginx_server_name}} -m {{nginx_admin_email}}" + notify: restart nginx + when: nginx_enable_ssl + +- name: enable site + become: yes + file: + src: "/etc/nginx/sites-available/{{nginx_conf_dst}}" + dest: "/etc/nginx/sites-enabled/{{nginx_conf_dst}}" + state: "link" + notify: restart nginx diff --git a/roles/nginx/tasks/certbot.yaml b/roles/nginx/tasks/certbot.yaml deleted file mode 100644 index b7fbe8d..0000000 --- a/roles/nginx/tasks/certbot.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- - -# https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx - -- name: add certbot (letsencrypt) repo - become: yes - apt_repository: repo="ppa:certbot/certbot" - -- name: install nginx packages - become: yes - apt: name="python-certbot-nginx" - notify: restart nginx - -- name: install certbot in nginx - become: yes - command: "certbot certonly --nginx -n --agree-tos -d {{nginx_server_name}} -m {{nginx_admin_email}}" - notify: restart nginx diff --git a/roles/nginx/tasks/main.yaml b/roles/nginx/tasks/main.yaml deleted file mode 100644 index 77448ff..0000000 --- a/roles/nginx/tasks/main.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- - -- name: set hostname in OS - become: yes - hostname: name="{{inventory_hostname}}" - -- name: change timezone to UTC - become: yes - timezone: name="UTC" - -- name: install nginx packages - become: yes - apt: name="nginx" - -- name: disable default site - become: yes - file: path="/etc/nginx/sites-enabled/default" state="absent" - notify: restart nginx - -- name: install site - become: yes - template: src="{{nginx_conf_src}}" dest="/etc/nginx/sites-available/{{nginx_conf_dst}}" - notify: restart nginx - -- import_tasks: certbot.yaml - when: nginx_enable_ssl - -- name: enable site - become: yes - file: - src: "/etc/nginx/sites-available/{{nginx_conf_dst}}" - dest: "/etc/nginx/sites-enabled/{{nginx_conf_dst}}" - state: "link" - notify: restart nginx - -- name: enable nginx service - become: yes - systemd: name="nginx" enabled="yes" state="started" -- cgit v1.2.3