Skip to content

Commit

Permalink
dns: wrap tasker block in another task
Browse files Browse the repository at this point in the history
cleans up the output when not using Cloudflare.
  • Loading branch information
saltydk committed Sep 1, 2023
1 parent 0277cef commit c09c8cb
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 53 deletions.
55 changes: 2 additions & 53 deletions resources/tasks/dns/tasker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,57 +7,6 @@
# GNU General Public License v3.0 #
#########################################################################
---
- name: Resources | Tasks | DNS | Tasker | DNS Task Block
- name: Resources | Tasks | DNS | Tasker | Import
ansible.builtin.include_tasks: "tasker2.yml"
when: cloudflare_records_enabled and role_dns_enabled and not skip_dns
block:
- name: Resources | Tasks | DNS | Tasker | Get FLD
ansible.builtin.shell: |
{{ saltbox_python }} -c "from tld import get_tld; res = get_tld(\"http://{{ dns_zone | default(user.domain) }}\", as_object=True); print(res.fld)"
register: fld

- name: Resources | Tasks | DNS | Tasker | Get subdomain
when: dns_record | length > 0
block:
- name: Resources | Tasks | DNS | Tasker | Set subdomain var
ansible.builtin.set_fact:
subdomain_block: 1

- name: Resources | Tasks | DNS | Tasker | Get subdomain
ansible.builtin.shell: |
{{ saltbox_python }} -c "from tld import get_tld; res = get_tld(\"http://{{ dns_record }}.{{ dns_zone | default(user.domain) }}\", as_object=True); print(res.subdomain)"
register: subdomain_notempty

- name: Resources | Tasks | DNS | Tasker | Get subdomain
when: dns_record | length == 0
block:
- name: Resources | Tasks | DNS | Tasker | Set subdomain var
ansible.builtin.set_fact:
subdomain_block: 0

- name: Resources | Tasks | DNS | Tasker | Get subdomain
ansible.builtin.shell: |
{{ saltbox_python }} -c "from tld import get_tld; res = get_tld(\"http://{{ dns_zone | default(user.domain) }}\", as_object=True); print(res.subdomain)"
register: subdomain_empty

- name: Resources | Tasks | DNS | Tasker | Set subdomain var
ansible.builtin.set_fact:
subdomain: "{{ subdomain_notempty.stdout
if (subdomain_block)
else subdomain_empty.stdout }}"

- name: Resources | Tasks | DNS | Tasker | Set '_dns_*' variables
ansible.builtin.set_fact:
_dns_tasker_zone: "{{ fld.stdout }}"
_dns_tasker_record: "{{ subdomain if (subdomain | length > 0)
else '@' }}"
_dns_tasker_action: "{{ dns_action | default('add') }}"
_dns_tasker_proxy: "{{ dns_proxy | default(dns.proxied) }}"

- name: Resources | Tasks | DNS | Tasker | Sent task to DNS Role
ansible.builtin.include_role:
name: dns
vars:
_dns_role_record: "{{ _dns_tasker_record }}"
_dns_role_zone: "{{ _dns_tasker_zone }}"
_dns_role_action: "{{ _dns_tasker_action }}"
_dns_role_proxy: "{{ _dns_tasker_proxy }}"
60 changes: 60 additions & 0 deletions resources/tasks/dns/tasker2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#########################################################################
# Title: Saltbox: Resources | Tasks | DNS | Tasker #
# Author(s): desimaniac, salty #
# URL: https://github.com/saltyorg/Saltbox #
# -- #
#########################################################################
# GNU General Public License v3.0 #
#########################################################################
---
- name: Resources | Tasks | DNS | Tasker | Get FLD
ansible.builtin.shell: |
{{ saltbox_python }} -c "from tld import get_tld; res = get_tld(\"http://{{ dns_zone | default(user.domain) }}\", as_object=True); print(res.fld)"
register: fld

- name: Resources | Tasks | DNS | Tasker | Get subdomain
when: dns_record | length > 0
block:
- name: Resources | Tasks | DNS | Tasker | Set subdomain var
ansible.builtin.set_fact:
subdomain_block: 1

- name: Resources | Tasks | DNS | Tasker | Get subdomain
ansible.builtin.shell: |
{{ saltbox_python }} -c "from tld import get_tld; res = get_tld(\"http://{{ dns_record }}.{{ dns_zone | default(user.domain) }}\", as_object=True); print(res.subdomain)"
register: subdomain_notempty

- name: Resources | Tasks | DNS | Tasker | Get subdomain
when: dns_record | length == 0
block:
- name: Resources | Tasks | DNS | Tasker | Set subdomain var
ansible.builtin.set_fact:
subdomain_block: 0

- name: Resources | Tasks | DNS | Tasker | Get subdomain
ansible.builtin.shell: |
{{ saltbox_python }} -c "from tld import get_tld; res = get_tld(\"http://{{ dns_zone | default(user.domain) }}\", as_object=True); print(res.subdomain)"
register: subdomain_empty

- name: Resources | Tasks | DNS | Tasker | Set subdomain var
ansible.builtin.set_fact:
subdomain: "{{ subdomain_notempty.stdout
if (subdomain_block)
else subdomain_empty.stdout }}"

- name: Resources | Tasks | DNS | Tasker | Set '_dns_*' variables
ansible.builtin.set_fact:
_dns_tasker_zone: "{{ fld.stdout }}"
_dns_tasker_record: "{{ subdomain if (subdomain | length > 0)
else '@' }}"
_dns_tasker_action: "{{ dns_action | default('add') }}"
_dns_tasker_proxy: "{{ dns_proxy | default(dns.proxied) }}"

- name: Resources | Tasks | DNS | Tasker | Sent task to DNS Role
ansible.builtin.include_role:
name: dns
vars:
_dns_role_record: "{{ _dns_tasker_record }}"
_dns_role_zone: "{{ _dns_tasker_zone }}"
_dns_role_action: "{{ _dns_tasker_action }}"
_dns_role_proxy: "{{ _dns_tasker_proxy }}"

0 comments on commit c09c8cb

Please sign in to comment.