From 0261e875679f1bf63c8d689da7fc7e014597885d Mon Sep 17 00:00:00 2001 From: Stonewall Jackson Date: Sat, 4 Feb 2023 01:23:43 -0500 Subject: initial commit --- roles/dns_records/defaults/main.yml | 3 +++ roles/dns_records/tasks/main.yml | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 roles/dns_records/defaults/main.yml create mode 100644 roles/dns_records/tasks/main.yml (limited to 'roles/dns_records') diff --git a/roles/dns_records/defaults/main.yml b/roles/dns_records/defaults/main.yml new file mode 100644 index 0000000..563f2a6 --- /dev/null +++ b/roles/dns_records/defaults/main.yml @@ -0,0 +1,3 @@ +dns_ip: '{{ ip }}' +dns_fqdn: '{{ fqdn }}' +dns_cnames: '{{ cnames }}' diff --git a/roles/dns_records/tasks/main.yml b/roles/dns_records/tasks/main.yml new file mode 100644 index 0000000..c6ef405 --- /dev/null +++ b/roles/dns_records/tasks/main.yml @@ -0,0 +1,41 @@ +- name: create A record + ipadnsrecord: + ipaadmin_principal: '{{ ipa_user }}' + ipaadmin_password: '{{ ipa_pass }}' + zone_name: "{{ dns_fqdn | regex_replace('^[^.]+\\.', '') }}" + record_name: '{{ dns_fqdn | split(".") | first }}' + record_type: A + record_value: "{{ dns_ip }}" + state: present + delegate_to: '{{ freeipa_master }}' + +- name: create reverse DNS zone + ipadnszone: + ipaadmin_principal: '{{ ipa_user }}' + ipaadmin_password: '{{ ipa_pass }}' + zone_name: "{{ dns_ip | ansible.utils.ipaddr('revdns') | regex_replace('^[^.]+\\.', '') }}" + state: present + delegate_to: '{{ freeipa_master }}' + +- name: create PTR record + ipadnsrecord: + ipaadmin_principal: '{{ ipa_user }}' + ipaadmin_password: '{{ ipa_pass }}' + zone_name: "{{ dns_ip | ansible.utils.ipaddr('revdns') | regex_replace('^[^.]+\\.', '') }}" + record_name: '{{ dns_ip | split(".") | last }}' + record_type: PTR + record_value: '{{ dns_fqdn if dns_fqdn[-1] == "." else (dns_fqdn ~ ".") }}' + state: present + delegate_to: '{{ freeipa_master }}' + +- name: create CNAME records + ipadnsrecord: + ipaadmin_principal: '{{ ipa_user }}' + ipaadmin_password: '{{ ipa_pass }}' + zone_name: "{{ item | regex_replace('^[^.]+\\.', '') }}" + record_name: '{{ item | split(".") | first }}' + record_type: CNAME + record_value: '{{ dns_fqdn if dns_fqdn[-1] == "." else (dns_fqdn ~ ".") }}' + state: present + delegate_to: '{{ freeipa_master }}' + loop: '{{ dns_cnames }}' -- cgit