oopen-server/roles/common/tasks/caching-nameserver.yml
2023-04-06 11:53:54 +02:00

158 lines
3.6 KiB
YAML

---
# ---
# Install 'bind' apt based OS
# ---
- name: (caching-nameserver.yml) update
apt:
update_cache: true
cache_valid_time: "{{ 0 if apt_config_updated is defined and apt_config_updated.changed else apt_update_cache_valid_time }}"
when:
- ansible_distribution == "Debian"
- apt_update|bool
tags:
- apt-caching-nameserver
- name: (caching-nameserver.yml) dpkg --configure
command: >
dpkg --configure -a
args:
warn: false
changed_when: _dpkg_configure.stdout_lines | length
register: _dpkg_configure
when:
- ansible_distribution == "Debian"
- apt_update|bool
tags:
- apt-caching-nameserver
- name: (caching-nameserver.yml) upgrade
apt:
upgrade: "{{ apt_upgrade_type }}"
update_cache: true
dpkg_options: "{{ apt_upgrade_dpkg_options | join(',') }}"
when:
- ansible_distribution == "Debian"
- apt_dpkg_configure|bool
tags:
- apt-caching-nameserver
- name: (caching-nameserver.yml) Install bind packages (using apt)
apt:
name: "{{ apt_bind_pkgs }}"
state: present
when:
- ansible_distribution == "Debian"
- install_bind_packages|bool == true
tags:
- apt-caching-nameserver
# ---
# Install 'bind' - yum based OS
# ---
- name: (yum.yml) Install system updates for centos systems
yum:
name: '*'
state: latest
update_cache: yes
#cache_valid_time: 3600
when:
- ansible_os_family == "RedHat"
- ansible_distribution == "CentOS"
tags:
- yum-update
- name: (yum.yml) Install bind packages (using yum)
yum:
name: "{{ yum_bind_pks }}"
state: "{{ yum_install_state }}"
when:
- ansible_os_family == "RedHat"
- ansible_distribution == "CentOS"
tags:
- yum-caching-nameserver
# ---
# Configure bind on debian systems
# --
- name: (caching-nameserver.yml) Create directory /var/log/named if it does not exist
file:
path: /var/log/named
state: directory
owner: bind
group: bind
mode: '0755'
when:
- ansible_distribution == "Debian"
- name: (caching-nameserver.yml) update named.conf.options configuration file (normal server)
template:
src: etc/bind/named.conf.options.j2
dest: /etc/bind/named.conf.options
backup: yes
owner: root
group: bind
mode: 0644
#validate: visudo -cf %s
notify: Reload bind9
tags:
- apt-caching-nameserver
- caching-nameserver
when:
- ansible_distribution == "Debian"
- inventory_hostname not in groups["gateway_server"]
# --------------------
# In case of gateway gateway servers ONLY if bind ption file NOT exists
#
- name: Check if file '/etc/bind/named.conf.options' exists
stat:
path: /etc/bind/named.conf.options
register: file_named_conf_options
- name: (caching-nameserver.yml) update named.conf.options configuration file (gateway server)
template:
src: etc/bind/named.conf.options.gateway.j2
dest: /etc/bind/named.conf.options
backup: yes
owner: root
group: bind
mode: 0644
#validate: visudo -cf %s
notify: Reload bind9
tags:
- apt-caching-nameserver
- caching-nameserver
when:
- ansible_distribution == "Debian"
- inventory_hostname in groups["gateway_server"]
# - not file_named_conf_options.stat.exists
# --------------------
- name: (caching-nameserver.yml) Add 127.0.0.1 as first nameserver entry to /etc/resolv.conf
lineinfile:
path: /etc/resolv.conf
line: nameserver 127.0.0.1
firstmatch: yes
insertbefore: '^nameserver'
state: present
owner: root
group: root
mode: '0644'
tags:
- apt-caching-nameserver
when:
- ansible_distribution == "Debian"