From f0b0d7c66c1534c8cf2f79ee8d9c9989057a498a Mon Sep 17 00:00:00 2001 From: uumas Date: Mon, 20 Dec 2021 04:37:09 +0200 Subject: [PATCH] reverse_proxy role --- docs/general.md | 6 ++++++ galaxy.yml | 2 +- roles/reverse_proxy/README.md | 1 + roles/reverse_proxy/defaults/main.yml | 3 +++ roles/reverse_proxy/meta/main.yml | 5 +++++ roles/reverse_proxy/tasks/caddy.yml | 14 ++++++++++++++ roles/reverse_proxy/tasks/main.yml | 5 +++++ 7 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 roles/reverse_proxy/README.md create mode 100644 roles/reverse_proxy/defaults/main.yml create mode 100644 roles/reverse_proxy/meta/main.yml create mode 100644 roles/reverse_proxy/tasks/caddy.yml create mode 100644 roles/reverse_proxy/tasks/main.yml diff --git a/docs/general.md b/docs/general.md index f9bfc1a..65f548b 100644 --- a/docs/general.md +++ b/docs/general.md @@ -5,3 +5,9 @@ These variables might be required by multiple roles and need to be defined. Exam admin_email: 'admin@domain.tld' ``` +# Optional variables +These variables are used by multiple roles and have the following default values: + +``` +reverse_proxy_type: caddy # Allowed values: caddy, none + diff --git a/galaxy.yml b/galaxy.yml index 8ba3d67..9462472 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -2,7 +2,7 @@ namespace: uumas name: general -version: 0.4.2 +version: 0.5.0 readme: README.md authors: - uumas diff --git a/roles/reverse_proxy/README.md b/roles/reverse_proxy/README.md new file mode 100644 index 0000000..446858b --- /dev/null +++ b/roles/reverse_proxy/README.md @@ -0,0 +1 @@ +Sets up a reverse proxy defined by the `reverse_proxy_type` variable diff --git a/roles/reverse_proxy/defaults/main.yml b/roles/reverse_proxy/defaults/main.yml new file mode 100644 index 0000000..4352d25 --- /dev/null +++ b/roles/reverse_proxy/defaults/main.yml @@ -0,0 +1,3 @@ +--- + +reverse_proxy_type: caddy diff --git a/roles/reverse_proxy/meta/main.yml b/roles/reverse_proxy/meta/main.yml new file mode 100644 index 0000000..4dbdb8b --- /dev/null +++ b/roles/reverse_proxy/meta/main.yml @@ -0,0 +1,5 @@ +--- + +dependencies: + - role: caddy + when: reverse_proxy_type == 'caddy' diff --git a/roles/reverse_proxy/tasks/caddy.yml b/roles/reverse_proxy/tasks/caddy.yml new file mode 100644 index 0000000..79f0a9f --- /dev/null +++ b/roles/reverse_proxy/tasks/caddy.yml @@ -0,0 +1,14 @@ +--- + +- name: Add caddy reverse proxy config + blockinfile: + path: /etc/caddy/Caddyfile + marker: "# {mark} ANSIBLE MANAGED BLOCK {{ vhost_id }}" + block: | + {{ vhost_domains | join(' ') }} { + reverse_proxy {{ proxy_target }} + } + validate: 'caddy validate --config %s --adapter caddyfile' + backup: true + notify: reload caddy + diff --git a/roles/reverse_proxy/tasks/main.yml b/roles/reverse_proxy/tasks/main.yml new file mode 100644 index 0000000..8b6d114 --- /dev/null +++ b/roles/reverse_proxy/tasks/main.yml @@ -0,0 +1,5 @@ +--- + +- name: Setup {{ vhost_id }} reverse proxy + include_tasks: "{{ reverse_proxy_type }}.yml" + when: reverse_proxy_type != 'none'