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'