1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 19:52:06 +00:00
iiab/roles/network/tasks/enable_services.yml

242 lines
8.8 KiB
YAML
Raw Normal View History

2022-07-08 06:16:36 +00:00
#- name: Disable dhcpd service
# service:
# name: dhcpd
# enabled: no
# when: (dhcpd_install or dhcpd_installed is defined) and not dhcpd_enabled
2017-05-27 18:09:50 +00:00
# service is restarted with NM dispatcher.d script
2022-07-08 06:16:36 +00:00
#- name: Enable dhcpd service
# service:
# name: dhcpd
# enabled: yes
# when: dhcpd_install and dhcpd_enabled
#- name: Install /etc/sysconfig/dhcpd, /etc/dhcpd-iiab.conf from templates (root:root, 0644 by default)
# template:
# src: "{{ item.src }}"
# dest: "{{ item.dest }}"
# # owner: root
# group: root
# mode: "{{ item.mode }}"
2022-07-08 06:16:36 +00:00
# with_items:
# - { src: 'dhcp/dhcpd-env.j2', dest: '/etc/sysconfig/dhcpd' }
# - { src: 'dhcp/dhcpd-iiab.conf.j2', dest: '/etc/dhcpd-iiab.conf' }
# when: dhcpd_install and dhcpd_enabled
#- name: Install /etc/named-iiab.conf and two *.zone.db files into /var/named-iiab (root:root, 0644 by default)
# template:
# src: "{{ item.src }}"
# dest: "{{ item.dest }}"
# owner: root
# group: root
# mode: "{{ item.mode }}"
2022-07-08 06:16:36 +00:00
# with_items:
# - { src: 'named/named-iiab.conf.j2', dest: '/etc/named-iiab.conf' }
# - { src: 'named/school.local.zone.db.j2', dest: '/var/named-iiab/school.local.zone.db' }
# - { src: 'named/school.internal.zone.db.j2', dest: '/var/named-iiab/school.internal.zone.db' }
# when: named_install and named_enabled
#- name: Enable named service ({{ dns_service }}) if named_enabled
# systemd:
# name: "{{ dns_service }}"
# enabled: yes
# when: named_install and named_enabled
#- name: Disable named service ({{ dns_service }}) if not named_enabled
# systemd:
# name: "{{ dns_service }}"
# enabled: no
# when: (named_install or named_installed is defined) and not named_enabled
2017-05-27 18:09:50 +00:00
2019-01-17 20:03:12 +00:00
- name: Install /etc/dnsmasq.d/iiab.conf from template, when dnsmasq_enabled and isn't Appliance
template:
src: network/dnsmasq.conf.j2
dest: /etc/dnsmasq.d/iiab.conf
2022-07-08 06:16:36 +00:00
when: iiab_network_mode != "Appliance"
# when: dnsmasq_install and dnsmasq_enabled and (iiab_network_mode != "Appliance")
2019-06-29 22:29:58 +00:00
2019-12-11 05:54:33 +00:00
- name: Install /etc/hosts.dnsmasq from template for /etc/dnsmasq.d/iiab.conf (instead of using /etc/hosts)
2019-12-02 06:41:12 +00:00
template:
src: network/hosts-dnsmasq.j2
dest: /etc/hosts.dnsmasq
2022-07-08 06:16:36 +00:00
when: iiab_network_mode != "Appliance"
# when: dnsmasq_install and dnsmasq_enabled and (iiab_network_mode != "Appliance")
2019-12-02 06:41:12 +00:00
2020-05-09 04:46:24 +00:00
- name: Update /etc/dnsmasq.d/dnsmasq-iiab for custom dns setting
template:
src: network/dnsmasq-iiab
dest: /etc/dnsmasq.d/dnsmasq-iiab
2022-07-08 06:16:36 +00:00
# when: dnsmasq_install # 2020-05-10: Are all these dnsmasq_install conditions really still necessary ?
2020-05-09 04:46:24 +00:00
2019-06-29 22:29:58 +00:00
## Another way to skin the cat
##- name: Check if systemd service networkd-dispatcher is enabled
## systemd:
## name: networkd-dispatcher
## state: reloaded
## register: systemd_out
##
## Yet Another
## command: systemctl show networkd-dispatcher | grep ^UnitFileState=
## would yield "UnitFileState=enabled"
##
#- name: Check if systemd service networkd-dispatcher is enabled
# command: systemctl is-enabled networkd-dispatcher
# register: nd_enabled
# ignore_errors: True
#
#- debug:
# var: nd_enabled
- name: Check if /etc/networkd-dispatcher/routable.d exists
stat:
path: /etc/networkd-dispatcher/routable.d
register: nd_dir
2019-06-29 22:29:58 +00:00
#- debug:
# var: nd_dir
- name: To restart dnsmasq whenever br0 comes up, install /etc/networkd-dispatcher/routable.d/dnsmasq.sh from template (if isn't Appliance, and directory /etc/networkd-dispatcher/routable.d exists, i.e. OS's like Ubuntu 18.04 or later) (root:root by default)
template:
src: roles/network/templates/network/dnsmasq.sh.j2
dest: /etc/networkd-dispatcher/routable.d/dnsmasq.sh
mode: 0755
# owner: root
# group: root
2022-07-08 06:16:36 +00:00
when: nd_dir.stat.exists and nd_dir.stat.isdir and (iiab_network_mode != "Appliance")
# when: dnsmasq_install and dnsmasq_enabled and nd_dir.stat.exists and nd_dir.stat.isdir and (iiab_network_mode != "Appliance")
2019-06-29 22:29:58 +00:00
#when: dnsmasq_install and dnsmasq_enabled and nd_enabled is defined and nd_enabled.stdout == "enabled" and nd_dir.stat.exists and nd_dir.stat.isdir and (iiab_network_mode != "Appliance")
#when: dnsmasq_install and dnsmasq_enabled and systemd_out.status.UnitFileState == "enabled" and networkd_dir.stat.exists and networkd_dir.stat.isdir and (iiab_network_mode != "Appliance")
- name: Remove /etc/dnsmasq.d/iiab.conf, when not dnsmasq_enabled or is Appliance
file:
path: /etc/dnsmasq.d/iiab.conf
state: absent
when: not dnsmasq_enabled or iiab_network_mode == "Appliance"
2018-12-16 13:52:50 +00:00
- name: Enable iiab-dnsmasq systemd service, if dnsmasq_enabled
2018-10-31 07:58:55 +00:00
systemd:
2018-12-16 13:52:50 +00:00
name: iiab-dnsmasq
enabled: yes
2022-07-08 07:04:05 +00:00
when: dnsmasq_enabled
2018-12-16 13:52:50 +00:00
- name: Disable iiab-dnsmasq, if not dnsmasq_enabled
systemd:
name: iiab-dnsmasq
enabled: no
2022-07-08 07:04:05 +00:00
when: not dnsmasq_enabled
2018-12-16 13:52:50 +00:00
# - name: Enable DansGuardian systemd service, if dansguardian_enabled
# systemd:
# name: dansguardian
# enabled: yes
# when: dansguardian_install and dansguardian_enabled
2017-05-27 18:09:50 +00:00
# - name: Disable DansGuardian, if not dansguardian_enabled
# systemd:
# name: dansguardian
# enabled: no
# when: (dansguardian_install or dansguardian_installed is defined) and not dansguardian_enabled
2017-05-27 18:09:50 +00:00
- name: Mandate 'HTTPCACHE_ON=True' in {{ iiab_env_file }} - if squid_install [{{ squid_install }}] and squid_enabled [{{ squid_enabled }}]
lineinfile:
path: "{{ iiab_env_file }}"
regexp: '^HTTPCACHE_ON=*'
line: 'HTTPCACHE_ON=True'
2022-07-08 07:04:05 +00:00
when: squid_installed is defined and squid_enabled
2017-05-27 18:09:50 +00:00
- name: Enable systemd service '{{ proxy }}' - if squid_install and squid_enabled
systemd:
name: "{{ proxy }}" # squid (or 'squid3' on vars/debian-8.yml, vars/raspbian-8.yml)
enabled: yes
2022-07-08 07:04:05 +00:00
when: squid_installed is defined and squid_enabled
2017-05-27 18:09:50 +00:00
- name: Install /etc/{{ proxy }}/squid.conf from template (root:root, 0644 by default) - and create a timestamped backup of the original - if squid_install and squid_enabled
template:
src: squid/squid.conf.j2
dest: /etc/{{ proxy }}/squid.conf
# owner: "{{ proxy_user }}" # proxy (or 'squid' on vars/centos-7.yml, vars/fedora-18.yml, vars/fedora-12.yml)
# group: "{{ proxy_user }}"
backup: yes
2022-07-08 07:04:05 +00:00
when: squid_installed is defined and squid_enabled
2017-05-27 18:09:50 +00:00
# - name: Point /etc/init.d/{{ proxy }} to /etc/{{ proxy }}/squid-iiab.conf - if squid_install and squid_enabled
# lineinfile:
# regexp: '^CONFIG'
# line: "CONFIG=/etc/{{ proxy }}/squid-iiab.conf"
# path: "/etc/init.d/{{ proxy }}"
# when: squid_install and squid_enabled
2017-05-27 18:09:50 +00:00
- name: Disable systemd service '{{ proxy }}' - if (squid_install or squid_installed [{{ squid_installed }}] is defined) and not squid_enabled
systemd:
name: "{{ proxy }}"
enabled: no
2022-07-08 07:04:05 +00:00
when: squid_installed is defined and not squid_enabled
2017-05-27 18:09:50 +00:00
- name: Revert {{ iiab_env_file }} to 'HTTPCACHE_ON=False' - if squid_install and not squid_enabled
lineinfile:
path: "{{ iiab_env_file }}"
regexp: '^HTTPCACHE_ON=*'
line: 'HTTPCACHE_ON=False'
2022-07-08 07:04:05 +00:00
when: squid_installed is defined and not squid_enabled
2017-05-27 18:09:50 +00:00
# - name: Enable Wondershaper service, if wondershaper_enabled
# systemd:
# name: wondershaper
# enabled: yes
# when: wondershaper_install and wondershaper_enabled
2017-05-27 18:09:50 +00:00
# - name: Disable Wondershaper service, if not wondershaper_enabled
# systemd:
# name: wondershaper
# enabled: no
# when: (wondershaper_install or wondershaper_installed is defined) and not wondershaper_enabled
2017-05-27 18:09:50 +00:00
# check-LAN should be iptables.yml remove later
- name: Install clean copy of /usr/bin/iiab-gen-iptables from template (root:root by default)
template:
2018-10-31 07:58:55 +00:00
src: gateway/iiab-gen-iptables
dest: /usr/bin/iiab-gen-iptables
# owner: root
# group: root
mode: 0755
2017-05-27 18:09:50 +00:00
- name: Add 'squid' variable values to {{ iiab_ini_file }} - if squid_installed is defined
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: squid
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: squid_install
value: "{{ squid_install }}"
- option: squid_enabled
value: "{{ squid_enabled }}"
when: squid_installed is defined
2017-05-27 18:09:50 +00:00
# - name: Add 'dansguardian' variable values to {{ iiab_ini_file }}
# ini_file:
# path: "{{ iiab_ini_file }}"
# section: dansguardian
# option: "{{ item.option }}"
# value: "{{ item.value | string }}"
# with_items:
# - option: dansguardian_install
# value: "{{ dansguardian_install }}"
# - option: dansguardian_enabled
# value: "{{ dansguardian_enabled }}"
# when: dansguardian_installed is defined
2017-05-27 18:09:50 +00:00
# - name: Add 'wondershaper' variable values to {{ iiab_ini_file }}
# ini_file:
# path: "{{ iiab_ini_file }}"
# section: wondershaper
# option: "{{ item.option }}"
# value: "{{ item.value | string }}"
# with_items:
# - option: wondershaper_install
# value: "{{ wondershaper_install }}"
# - option: wondershaper_enabled
# value: "{{ wondershaper_enabled }}"
# when: wondershaper_installed is defined