deploy_adguard/molecule/with_extra_sidecars/verify.yml

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