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.
ansible-homelab/playbooks/verify-homelab.yml

48 lines
1.3 KiB
YAML

- hosts: all
become: true
pre_tasks:
- name: Include vault variables.
include_vars: ../{{vault_file}}
tags:
- always
tasks:
- name: Docker Compose Files Exist
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
assert:
that: item.rc == 0
with_items: '{{docker_compose_stat.results}}'
- name: Populate service facts
service_facts: {}
- name: Assert docker is installed and started
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
assert:
that: {{item in image_details.images | map(attribute='RepoTags') | flatten: !!null ''}: !!null ''}
with_items: '{{desired_docker_images}}'
- name: Fetch Sudoers Files
command: stat /etc/sudoers.d/{{item.name}}
changed_when: false
register: sudoers_stat
with_items: '{{users}}'
when: item.passwordless_sudo == true
- name: Assert sudoers files are created
assert:
that: item.rc == 0
with_items: '{{sudoers_stat.results}}'