diff --git a/roles/docker-ldap/tasks/main.yml b/roles/docker-ldap/tasks/main.yml index d2bd01fd..595e42ff 100644 --- a/roles/docker-ldap/tasks/main.yml +++ b/roles/docker-ldap/tasks/main.yml @@ -91,7 +91,7 @@ bind_pw: "{{ ldap.bind_credential }}" attributes: objectClass: "{{ ldap.user_objects }}" - mail: "{{ item.value.email }}" + mail: "{{ item.value.email }}" state: exact # โ€˜exactโ€™ is safest for single-valued attributes loop: "{{ users | dict2items }}" loop_control: diff --git a/roles/nginx-redirect-domain/tasks/main.yml b/roles/nginx-redirect-domain/tasks/main.yml deleted file mode 100644 index 59e2b19a..00000000 --- a/roles/nginx-redirect-domain/tasks/main.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -- name: "include task receive certbot certificate" - include_role: - name: nginx-https-get-cert - vars: - domain: "{{item.source}}" - loop: "{{domain_mappings}}" - -- name: The domains for which a www. redirect will be implemented - debug: - var: domain_mappings - when: enable_debug | bool - -- name: configure nginx redirect configurations - vars: - item: "{{item}}" - template: - src: redirect.domain.nginx.conf.j2 - dest: "{{nginx.directories.http.servers}}{{item.source}}.conf" - loop: "{{domain_mappings}}" - notify: restart nginx diff --git a/roles/nginx-redirect-domain/templates/redirect.domain.nginx.conf.j2 b/roles/nginx-redirect-domain/templates/redirect.domain.nginx.conf.j2 deleted file mode 100644 index 63a3ef5e..00000000 --- a/roles/nginx-redirect-domain/templates/redirect.domain.nginx.conf.j2 +++ /dev/null @@ -1,8 +0,0 @@ -server { - {% set domain = item.source %} - {% set target = item.target %} - server_name {{domain}}; - {% include 'roles/letsencrypt/templates/ssl_header.j2' %} - - return 301 https://{{target}}$request_uri; -} diff --git a/roles/nginx-redirect-domain/README.md b/roles/nginx-redirect-domains/README.md similarity index 100% rename from roles/nginx-redirect-domain/README.md rename to roles/nginx-redirect-domains/README.md diff --git a/roles/nginx-redirect-domain/meta/main.yml b/roles/nginx-redirect-domains/meta/main.yml similarity index 100% rename from roles/nginx-redirect-domain/meta/main.yml rename to roles/nginx-redirect-domains/meta/main.yml diff --git a/roles/nginx-redirect-domains/tasks/main.yml b/roles/nginx-redirect-domains/tasks/main.yml new file mode 100644 index 00000000..5f0891d4 --- /dev/null +++ b/roles/nginx-redirect-domains/tasks/main.yml @@ -0,0 +1,7 @@ +--- +- name: "Include domains redirects" + include_tasks: redirect-domain.yml + vars: + domain: "{{ item.source }}" + target: "{{ item.target }}" + loop: "{{domain_mappings}}" \ No newline at end of file diff --git a/roles/nginx-redirect-domains/tasks/redirect-domain.yml b/roles/nginx-redirect-domains/tasks/redirect-domain.yml new file mode 100644 index 00000000..5e3ea9a8 --- /dev/null +++ b/roles/nginx-redirect-domains/tasks/redirect-domain.yml @@ -0,0 +1,9 @@ +- name: "include task receive certbot certificate" + include_role: + name: nginx-https-get-cert + +- name: configure nginx redirect configurations + template: + src: redirect.domain.nginx.conf.j2 + dest: "{{ nginx.directories.http.servers }}{{ domain }}.conf" + notify: restart nginx \ No newline at end of file diff --git a/roles/nginx-redirect-domains/templates/redirect.domain.nginx.conf.j2 b/roles/nginx-redirect-domains/templates/redirect.domain.nginx.conf.j2 new file mode 100644 index 00000000..7d7b9028 --- /dev/null +++ b/roles/nginx-redirect-domains/templates/redirect.domain.nginx.conf.j2 @@ -0,0 +1,6 @@ +server { + server_name {{ domain }}; + {% include 'roles/letsencrypt/templates/ssl_header.j2' %} + + return 301 https://{{ target }}$request_uri; +} diff --git a/roles/nginx-redirect-www/README.md b/roles/nginx-redirect-www/README.md index 71fe1843..8428ff09 100644 --- a/roles/nginx-redirect-www/README.md +++ b/roles/nginx-redirect-www/README.md @@ -7,7 +7,7 @@ Automates the creation of Nginx server blocks that redirect all `www.` subdomain This role will: - **Discover** existing `*.conf` vhosts in your Nginx servers directory - **Filter** domains with or without your `primary_domain` -- **Generate** redirect rules via the `nginx-redirect-domain` role +- **Generate** redirect rules via the `nginx-redirect-domains` role - **Optionally** include a wildcard redirect template (experimental) โญ๏ธ - **Clean up** leftover configs when running in cleanup mode ๐Ÿงน @@ -20,5 +20,5 @@ Ensure that any request to `www.example.com` automatically and permanently redir - **Auto-Discovery**: Scans your Nginx `servers` directory for `.conf` files. ๐Ÿ” - **Dynamic Redirects**: Builds `source: "www.domain"` โ†’ `target: "domain"` mappings on the fly. ๐Ÿ”ง - **Wildcard Redirect**: Includes a templated wildcard server block for `www.*` domains (toggleable). โœจ -- **Cleanup Mode**: Removes the wildcard config file when `certbot_flavor` is set to `dedicated` and `mode_cleanup` is enabled. ๐Ÿ—‘๏ธ +- **Cleanup Mode**: Removes the wildcard config file when `certbot_flavor` is set to `dedicated` and `mode_cleanup` is enabled. ๐Ÿ—‘๏ธ - **Debug Output**: Optional `enable_debug` gives detailed variable dumps for troubleshooting. ๐Ÿ› diff --git a/roles/nginx-redirect-www/tasks/main.yml b/roles/nginx-redirect-www/tasks/main.yml index bde7ef31..3eb45230 100644 --- a/roles/nginx-redirect-www/tasks/main.yml +++ b/roles/nginx-redirect-www/tasks/main.yml @@ -8,9 +8,9 @@ set_fact: www_domains: "{{ all_domains | select('match', '^www\\.') | list }}" -- name: Include nginx-redirect-domain role for www-to-bare redirects +- name: Include nginx-redirect-domains role for www-to-bare redirects include_role: - name: nginx-redirect-domain + name: nginx-redirect-domains vars: domain_mappings: "{{ www_domains | map('regex_replace', diff --git a/tasks/server.yml b/tasks/server.yml index 53b85373..167c7406 100644 --- a/tasks/server.yml +++ b/tasks/server.yml @@ -237,7 +237,7 @@ - name: setup redirect hosts when: ("redirect" in group_names) include_role: - name: nginx-redirect-domain + name: nginx-redirect-domains vars: domain_mappings: "{{redirect_domain_mappings}}"