You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.6 KiB
YAML
49 lines
1.6 KiB
YAML
---
|
|
- name: Verify HomeLab has been correctly set up.
|
|
hosts: all
|
|
become: true
|
|
pre_tasks:
|
|
- name: Include vault variables.
|
|
ansible.builtin.include_vars: ../{{ vault_file }}
|
|
tags:
|
|
- always
|
|
tasks:
|
|
- name: Docker Compose Files Exist
|
|
ansible.builtin.command: stat {{ directories.docker_compose_directory }}/{{ item.name }}/docker-compose.yml
|
|
with_items: '{{ services }}'
|
|
changed_when: false
|
|
register: docker_compose_stat
|
|
|
|
- name: Assert all Docker Compose files were created
|
|
ansible.builtin.assert:
|
|
that: item.rc == 0
|
|
with_items: '{{ docker_compose_stat.results }}'
|
|
|
|
- name: Populate service facts
|
|
ansible.builtin.service_facts: {}
|
|
|
|
- name: Assert docker is installed and started
|
|
ansible.builtin.assert:
|
|
that:
|
|
- ansible_facts.services.docker.state == "running"
|
|
- ansible_facts.services['docker.service'].status == "enabled"
|
|
- name: Inspect all images
|
|
docker_image_info: {}
|
|
register: image_details
|
|
- name: Assert desired images exist
|
|
ansible.builtin.assert:
|
|
that: "{{ item in image_details.images | map(attribute='RepoTags') | flatten }}"
|
|
with_items: '{{ desired_docker_images }}'
|
|
|
|
- name: Fetch Sudoers Files
|
|
ansible.builtin.command: stat /etc/sudoers.d/{{ item.name }}
|
|
changed_when: false
|
|
register: sudoers_stat
|
|
with_items: '{{ users }}'
|
|
when: item.passwordless_sudo
|
|
|
|
- name: Assert sudoers files are created
|
|
ansible.builtin.assert:
|
|
that: item.rc == 0
|
|
with_items: '{{ sudoers_stat.results }}'
|