convert repo to ansible collection patrickj.docker_compose_app

This commit is contained in:
2026-07-16 21:43:52 -04:00
parent 1aff50b74e
commit 2d393ff46e
14 changed files with 458 additions and 411 deletions
+43
View File
@@ -0,0 +1,43 @@
---
- name: Wait for container to be healthy
community.docker.docker_container_info:
name: "{{ app_container_name }}"
register: container_info
until: container_info.container.State.Health.Status | default('healthy') == 'healthy'
retries: "{{ app_health_check_retries | default(30) }}"
delay: "{{ app_health_check_delay | default(10) }}"
when: app_health_check | default(true) and app_health_check_method | default('docker') == 'docker'
ignore_errors: true
- name: Verify application HTTP endpoint
ansible.builtin.uri:
url: "{{ app_health_check_url }}"
method: GET
status_code: "{{ app_health_check_status_codes | default([200, 201, 202]) }}"
register: http_health_check
until: http_health_check.status in (app_health_check_status_codes | default([200, 201, 202]))
retries: "{{ app_health_check_retries | default(30) }}"
delay: "{{ app_health_check_delay | default(10) }}"
when: app_health_check | default(true) and app_health_check_method | default('docker') == 'http' and app_health_check_url is defined
ignore_errors: true
- name: Inspect compose project containers
community.docker.docker_host_info:
containers: true
containers_all: true
containers_filters:
label: "com.docker.compose.project={{ app_compose_project_name }}"
register: compose_containers
when: app_health_check | default(true)
- name: Verify deployment success
vars:
_total: "{{ compose_containers.containers | length }}"
_running: "{{ compose_containers.containers | selectattr('State', 'equalto', 'running') | list | length }}"
ansible.builtin.assert:
that:
- compose_containers.containers | length > 0
- _running == _total
fail_msg: "Not all containers are running. Running: {{ _running }}, Total: {{ _total }}"
success_msg: "All containers are running successfully."
when: app_health_check | default(true) and compose_containers.containers is defined