diff --git a/docs/general.md b/docs/general.md index 3ecd8c2..65f548b 100644 --- a/docs/general.md +++ b/docs/general.md @@ -2,6 +2,12 @@ These variables might be required by multiple roles and need to be defined. Example values below. ``` -email: 'admin@domain.tld' +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 99f8d2f..9462472 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -2,7 +2,7 @@ namespace: uumas name: general -version: 0.4.1 +version: 0.5.0 readme: README.md authors: - uumas diff --git a/roles/caddy/tasks/main.yml b/roles/caddy/tasks/main.yml index 7407961..68eb30f 100644 --- a/roles/caddy/tasks/main.yml +++ b/roles/caddy/tasks/main.yml @@ -26,7 +26,7 @@ blockinfile: path: /etc/caddy/Caddyfile marker: "{mark}" - marker_begin: ':80' + marker_begin: ':80 {' marker_end: '# https://caddyserver.com/docs/caddyfile' state: absent validate: 'caddy validate --config %s --adapter caddyfile' @@ -38,7 +38,7 @@ marker: "# {mark} ANSIBLE MANAGED BLOCK general" block: | { - email {{ email }} + email {{ admin_email }} } validate: 'caddy validate --config %s --adapter caddyfile' backup: yes 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'