You've already forked RekomenciBackend
@@ -0,0 +1,60 @@
|
||||
---
|
||||
- name: Post-deployment validation and health checks
|
||||
hosts: servers
|
||||
gather_facts: true
|
||||
become: false
|
||||
serial: "100%"
|
||||
|
||||
tasks:
|
||||
- name: Verify SSH connectivity on custom port
|
||||
ansible.builtin.wait_for:
|
||||
port: "{{ security_ssh_port | default(22) }}"
|
||||
host: "{{ ansible_host | default(inventory_hostname) }}"
|
||||
timeout: 60
|
||||
delay: 5
|
||||
state: started
|
||||
tags: validation, networking
|
||||
|
||||
- name: Check critical system services
|
||||
ansible.builtin.systemd:
|
||||
name: "{{ item }}"
|
||||
state: started
|
||||
enabled: true
|
||||
loop:
|
||||
- ssh
|
||||
- docker
|
||||
- fail2ban
|
||||
- nftables
|
||||
tags: validation
|
||||
ignore_errors: true
|
||||
|
||||
- name: Run comprehensive system health checks
|
||||
block:
|
||||
- name: Set root mount fact
|
||||
ansible.builtin.set_fact:
|
||||
root_mount: "{{ ansible_mounts | selectattr('mount', 'equalto', '/') | list | first }}"
|
||||
tags: validation, health
|
||||
|
||||
- name: Check load average
|
||||
ansible.builtin.shell: cat /proc/loadavg | awk '{print $1}'
|
||||
register: load_avg
|
||||
changed_when: false
|
||||
|
||||
- name: Check Docker status
|
||||
ansible.builtin.shell:
|
||||
cmd: docker info >/dev/null 2>&1 && echo "healthy" || echo "unhealthy"
|
||||
register: docker_status
|
||||
changed_when: false
|
||||
ignore_errors: true
|
||||
|
||||
- name: Display comprehensive health status
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Health check results for {{ inventory_hostname }}:"
|
||||
- "Disk usage: {{ ((root_mount.size_total - root_mount.size_available) / root_mount.size_total * 100) | round(2) }}%"
|
||||
- "Memory usage: {{ ((ansible_memtotal_mb - ansible_memfree_mb) / ansible_memtotal_mb * 100) | round(2) }}%"
|
||||
- "Load average (1m): {{ load_avg.stdout }}"
|
||||
- "Docker: {{ docker_status.stdout }}"
|
||||
tags: always, health
|
||||
|
||||
tags: validation, health
|
||||
Reference in New Issue
Block a user