--- - name: Verify hosts: all gather_facts: true become: true tasks: - 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