mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-01 08:08:59 +02:00
Refactored native-
This commit is contained in:
20
roles/docker-health-check/files/docker-health-check.sh
Normal file
20
roles/docker-health-check/files/docker-health-check.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
docker_ps_grep_unhealthy="$(docker ps --filter health=unhealthy --format '{{.Names}}')"
|
||||
docker_ps_grep_exited="$(docker ps --filter status=exited --format '{{.Names}}')"
|
||||
exitcode=0
|
||||
if [ ! -z "$docker_ps_grep_unhealthy" ]
|
||||
then
|
||||
echo "Some docker containers are unhealthy: $docker_ps_grep_unhealthy"
|
||||
exitcode=1
|
||||
fi
|
||||
if [ ! -z "$docker_ps_grep_exited" ]
|
||||
then
|
||||
echo "Some docker containers exited: $docker_ps_grep_exited"
|
||||
exitcode=2
|
||||
fi
|
||||
if [ "$exitcode" -ne "0" ]
|
||||
then
|
||||
exit $exitcode
|
||||
fi
|
||||
echo "All docker containers are healthy."
|
||||
exit
|
12
roles/docker-health-check/handlers/main.yml
Normal file
12
roles/docker-health-check/handlers/main.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
- name: "reload docker-health-check.service"
|
||||
systemd:
|
||||
name: docker-health-check.service
|
||||
state: reloaded
|
||||
enabled: yes
|
||||
daemon_reload: yes
|
||||
- name: "restart docker-health-check.timer"
|
||||
systemd:
|
||||
name: docker-health-check.timer
|
||||
state: restarted
|
||||
enabled: yes
|
||||
daemon_reload: yes
|
2
roles/docker-health-check/meta/main.yml
Normal file
2
roles/docker-health-check/meta/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- systemd_notifier
|
20
roles/docker-health-check/tasks/main.yml
Normal file
20
roles/docker-health-check/tasks/main.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
- name: "create {{docker_health_check_folder}}"
|
||||
file:
|
||||
path: "{{docker_health_check_folder}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: create docker-health-check.sh
|
||||
copy:
|
||||
src: docker-health-check.sh
|
||||
dest: "{{docker_health_check_folder}}docker-health-check.sh"
|
||||
|
||||
- name: create docker-health-check.service
|
||||
template: src=docker-health-check.service.j2 dest=/etc/systemd/system/docker-health-check.service
|
||||
notify: reload docker-health-check.service
|
||||
|
||||
- name: create docker-health-check.timer
|
||||
template:
|
||||
src: docker-health-check.timer.j2
|
||||
dest: "/etc/systemd/system/docker-health-check.timer"
|
||||
notify: restart docker-health-check.timer
|
@@ -0,0 +1,7 @@
|
||||
[Unit]
|
||||
Description=Checking docker health
|
||||
OnFailure=systemd-notifier@%n.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash {{docker_health_check_folder}}docker-health-check.sh
|
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=starts docker-health-check.service
|
||||
|
||||
[Timer]
|
||||
OnCalendar={{on_calendar_docker_health_check}}
|
||||
RandomizedDelaySec={{randomized_delay_sec}}
|
||||
Persistent=false
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
1
roles/docker-health-check/vars/main.yml
Normal file
1
roles/docker-health-check/vars/main.yml
Normal file
@@ -0,0 +1 @@
|
||||
docker_health_check_folder: "{{path_administrator_scripts}}docker-health-check/"
|
Reference in New Issue
Block a user