118 lines
5.4 KiB
YAML
118 lines
5.4 KiB
YAML
---
|
|
- name: Verify
|
|
hosts: all
|
|
gather_facts: false
|
|
tasks:
|
|
- name: "Test: file /etc/hosts"
|
|
block:
|
|
- name: "Stat file /etc/hosts"
|
|
ansible.builtin.stat:
|
|
path: "/etc/hosts"
|
|
register: stat_etc_hosts
|
|
|
|
- name: "Verify file /etc/hosts"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- stat_etc_hosts.stat.exists
|
|
- stat_etc_hosts.stat.isreg
|
|
- stat_etc_hosts.stat.pw_name == 'root'
|
|
- stat_etc_hosts.stat.gr_name == 'root'
|
|
|
|
- name: "Test: directory /opt/adguard"
|
|
block:
|
|
- name: "Stat directory /opt/adguard"
|
|
ansible.builtin.stat:
|
|
path: "/opt/adguard"
|
|
register: stat_opt_adguard
|
|
|
|
- name: "Stat directory /opt/adguard/conf"
|
|
ansible.builtin.stat:
|
|
path: "/opt/adguard/conf"
|
|
register: stat_opt_adguard_conf
|
|
|
|
- name: "Stat directory /opt/adguard/data"
|
|
ansible.builtin.stat:
|
|
path: "/opt/adguard/data"
|
|
register: stat_opt_adguard_data
|
|
|
|
- name: "Verify directory /etc/consul.d"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- stat_opt_adguard.stat.exists
|
|
- stat_opt_adguard.stat.isdir
|
|
- stat_opt_adguard.stat.pw_name == 'root'
|
|
- stat_opt_adguard.stat.gr_name == 'root'
|
|
- stat_opt_adguard.stat.mode == '0755'
|
|
- stat_opt_adguard_conf.stat.exists
|
|
- stat_opt_adguard_conf.stat.isdir
|
|
- stat_opt_adguard_conf.stat.pw_name == 'root'
|
|
- stat_opt_adguard_conf.stat.gr_name == 'root'
|
|
- stat_opt_adguard_conf.stat.mode == '0755'
|
|
- stat_opt_adguard_data.stat.exists
|
|
- stat_opt_adguard_data.stat.isdir
|
|
- stat_opt_adguard_data.stat.pw_name == 'root'
|
|
- stat_opt_adguard_data.stat.gr_name == 'root'
|
|
- stat_opt_adguard_data.stat.mode == '0755'
|
|
|
|
- name: "Test: service adguard"
|
|
block:
|
|
- name: "Get service adguard"
|
|
ansible.builtin.service_facts:
|
|
|
|
- name: "Stat file /etc/systemd/system/adguard.service"
|
|
ansible.builtin.stat:
|
|
path: "/etc/systemd/system/adguard.service"
|
|
register: stat_etc_systemd_system_adguard_service
|
|
|
|
- name: "Slurp file /etc/systemd/system/adguard.service"
|
|
ansible.builtin.slurp:
|
|
src: "/etc/systemd/system/adguard.service"
|
|
register: slurp_etc_systemd_system_adguard_service
|
|
|
|
- name: "Verify service adguard"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- stat_etc_systemd_system_adguard_service.stat.exists
|
|
- stat_etc_systemd_system_adguard_service.stat.isreg
|
|
- stat_etc_systemd_system_adguard_service.stat.pw_name == 'root'
|
|
- stat_etc_systemd_system_adguard_service.stat.gr_name == 'root'
|
|
- stat_etc_systemd_system_adguard_service.stat.mode == '0644'
|
|
- slurp_etc_systemd_system_adguard_service.content != ''
|
|
- ansible_facts.services['adguard.service'] is defined
|
|
- ansible_facts.services['adguard.service']['source'] == 'systemd'
|
|
- ansible_facts.services['adguard.service']['state'] == 'stopped'
|
|
- ansible_facts.services['adguard.service']['status'] == 'enabled'
|
|
|
|
- name: "Test: file /opt/adguard/docker-compose.yml"
|
|
block:
|
|
- name: "Slurp file /opt/adguard/docker-compose.yml"
|
|
ansible.builtin.slurp:
|
|
src: "/opt/adguard/docker-compose.yml"
|
|
register: slurp_opt_adguard_docker_compose_yml
|
|
|
|
|
|
- name: "Set fact for file content /opt/adguard/docker-compose.yml"
|
|
ansible.builtin.set_fact:
|
|
opt_adguard_docker_compose_yml_json: "{{ slurp_opt_adguard_docker_compose_yml.content | b64decode | from_yaml | to_json | from_json }}"
|
|
|
|
- name: "Verify file /opt/adguard/docker-compose.yml"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- opt_adguard_docker_compose_yml_json['version'] is defined
|
|
- opt_adguard_docker_compose_yml_json['version'] == '3.9'
|
|
- opt_adguard_docker_compose_yml_json['services'] is defined
|
|
- opt_adguard_docker_compose_yml_json['services']|length == 3
|
|
- opt_adguard_docker_compose_yml_json['services']['keepalived'] is defined
|
|
- opt_adguard_docker_compose_yml_json['services']['keepalived']['image'] == 'ghcr.io/rmartin16/keepalived:latest'
|
|
- opt_adguard_docker_compose_yml_json['services']['adguard'] is defined
|
|
- opt_adguard_docker_compose_yml_json['services']['adguard']['image'] == 'adguard/adguardhome:latest'
|
|
- opt_adguard_docker_compose_yml_json['services']['node_exporter'] is defined
|
|
- opt_adguard_docker_compose_yml_json['services']['node_exporter']['image'] == 'ebrianne/adguard-exporter:latest'
|
|
- opt_adguard_docker_compose_yml_json['networks'] is defined
|
|
- opt_adguard_docker_compose_yml_json['networks']|length == 1
|
|
- opt_adguard_docker_compose_yml_json['volumes'] is defined
|
|
- opt_adguard_docker_compose_yml_json['volumes']|length == 2
|
|
- opt_adguard_docker_compose_yml_json['volumes']['conf'] is defined
|
|
- opt_adguard_docker_compose_yml_json['volumes']['data'] is defined
|
|
- opt_adguard_docker_compose_yml_json['secrets'] is defined
|