76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
---
|
|
- name: Check if Coolify compose file exists
|
|
ansible.builtin.stat:
|
|
path: "{{ coolify_base_dir }}/source/{{ coolify_compose_files[0] }}"
|
|
register: _coolify_compose_stat
|
|
tags: always
|
|
|
|
- name: Set installation fact
|
|
ansible.builtin.set_fact:
|
|
_coolify_installed: "{{ _coolify_compose_stat.stat.exists }}"
|
|
tags: always
|
|
|
|
- name: Check if .env file exists
|
|
ansible.builtin.stat:
|
|
path: "{{ coolify_base_dir }}/source/.env"
|
|
register: _coolify_env_stat
|
|
tags: always
|
|
|
|
- name: Set env file fact
|
|
ansible.builtin.set_fact:
|
|
_coolify_env_exists: "{{ _coolify_env_stat.stat.exists }}"
|
|
tags: always
|
|
|
|
- name: Check Coolify container status
|
|
community.docker.docker_container_info:
|
|
name: "{{ item }}"
|
|
loop: "{{ coolify_container_names }}"
|
|
register: _coolify_containers
|
|
failed_when: false
|
|
when: _coolify_installed | bool
|
|
tags: always
|
|
|
|
- name: Determine Coolify health status
|
|
ansible.builtin.set_fact:
|
|
_coolify_healthy: >-
|
|
{{
|
|
_coolify_containers.results
|
|
| default([])
|
|
| selectattr('exists', 'defined')
|
|
| selectattr('exists', 'equalto', true)
|
|
| selectattr('container', 'defined')
|
|
| map(attribute='container')
|
|
| selectattr('State.Health', 'defined')
|
|
| selectattr('State.Health.Status', 'equalto', 'healthy')
|
|
| list
|
|
| length == coolify_container_names | length
|
|
}}
|
|
_coolify_running: >-
|
|
{{
|
|
_coolify_containers.results
|
|
| default([])
|
|
| selectattr('exists', 'defined')
|
|
| selectattr('exists', 'equalto', true)
|
|
| list
|
|
| length == coolify_container_names | length
|
|
}}
|
|
when: _coolify_installed | bool
|
|
tags: always
|
|
|
|
- name: Set default health facts when not installed
|
|
ansible.builtin.set_fact:
|
|
_coolify_healthy: false
|
|
_coolify_running: false
|
|
when: not (_coolify_installed | bool)
|
|
tags: always
|
|
|
|
- name: Display detected state
|
|
ansible.builtin.debug:
|
|
msg:
|
|
- "Installed: {{ _coolify_installed }}"
|
|
- "Env exists: {{ _coolify_env_exists }}"
|
|
- "Running: {{ _coolify_running }}"
|
|
- "Healthy: {{ _coolify_healthy }}"
|
|
verbosity: 1
|
|
tags: always
|