Add healthcheck to ansible
This commit is contained in:
parent
68463c03f1
commit
1cb92e3825
13 changed files with 68 additions and 6 deletions
|
@ -6,6 +6,7 @@
|
|||
- coder
|
||||
- forgejo
|
||||
- forgejo-runner
|
||||
- healthcheck
|
||||
- homebox
|
||||
- influxdb
|
||||
- jellyfin
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
#!/usr/bin/sh
|
||||
|
||||
# Reduce pings to 60 minutes
|
||||
[ $(date +'%M') -eq '00' ] || exit
|
||||
|
||||
cd /opt/ || exit
|
||||
|
||||
hc_url="https://hc-ping.com/$MAIL_HC_UID"
|
|
@ -7,8 +7,7 @@ x-common-elements:
|
|||
image: healthcheck
|
||||
restart: never
|
||||
env_file:
|
||||
- .env
|
||||
- .secret.env
|
||||
- service.env
|
||||
volumes:
|
||||
- ./data/:/opt
|
||||
|
46
_ansible/roles/healthcheck/tasks/main.yml
Normal file
46
_ansible/roles/healthcheck/tasks/main.yml
Normal file
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
- name: Deploy {{ svc.name }}
|
||||
tags:
|
||||
- healthcheck
|
||||
block:
|
||||
- import_tasks: steps/create-service-directory.yml
|
||||
|
||||
- name: Copy the docker-compose file
|
||||
ansible.builtin.copy:
|
||||
src: docker-compose.yml
|
||||
dest: "{{ (service_path, 'docker-compose.yml') | path_join }}"
|
||||
mode: '0644'
|
||||
- name: Copy the Dockerfile
|
||||
ansible.builtin.copy:
|
||||
src: Dockerfile
|
||||
dest: "{{ (service_path, 'Dockerfile') | path_join }}"
|
||||
mode: '0644'
|
||||
- name: Copy the data files
|
||||
ansible.builtin.copy:
|
||||
src: data
|
||||
dest: "{{ service_path }}"
|
||||
mode: '0755'
|
||||
|
||||
- name: Copy the system service
|
||||
ansible.builtin.copy:
|
||||
src: healthcheck@.service
|
||||
dest: "/etc/systemd/system/healthcheck@.service"
|
||||
mode: '0644'
|
||||
become: true
|
||||
- name: Copy the system timer
|
||||
ansible.builtin.copy:
|
||||
src: healthcheck@.timer
|
||||
dest: "/etc/systemd/system/healthcheck@.timer"
|
||||
mode: '0644'
|
||||
become: true
|
||||
|
||||
- import_tasks: steps/template-service-env.yml
|
||||
|
||||
- name: Build service
|
||||
ansible.builtin.command:
|
||||
cmd: docker compose build --pull
|
||||
chdir: "{{ service_path }}"
|
||||
when:
|
||||
- "'local-dev' != inventory_hostname"
|
||||
register: cmd_result
|
||||
changed_when: True
|
19
_ansible/roles/healthcheck/vars/main.yml
Normal file
19
_ansible/roles/healthcheck/vars/main.yml
Normal file
|
@ -0,0 +1,19 @@
|
|||
svc:
|
||||
name: healthcheck
|
||||
|
||||
svc_env:
|
||||
USER_AGENT: "healthcheck-bot for serguzim.net"
|
||||
|
||||
HTTP_HC_UID: "{{ vault_healthcheck.hc_uid.http }}"
|
||||
|
||||
MATRIX_SERVER: "https://matrix.msrg.cc"
|
||||
MATRIX_SERVER_FEDTESTER: "msrg.cc"
|
||||
MATRIX_HC_UID: "{{ vault_healthcheck.hc_uid.matrix }}"
|
||||
MATRIX_TOKEN: "{{ vault_healthcheck.matrix.token }}"
|
||||
MATRIX_ROOM: "{{ vault_healthcheck.matrix.room }}"
|
||||
|
||||
MAIL_HC_UID: "{{ vault_healthcheck.hc_uid.mail }}"
|
||||
MAIL_HOST: "{{ mailer.host }}"
|
||||
MAIL_PORT: "{{ mailer.port }}"
|
||||
MAIL_USER: "{{ vault_healthcheck.mailer.user }}"
|
||||
MAIL_PASS: "{{ vault_healthcheck.mailer.pass }}"
|
|
@ -15,7 +15,7 @@ svc_env:
|
|||
|
||||
ALLOWED_HOSTS: recipes.serguzim.me
|
||||
SECRET_KEY: "{{ vault_tandoor.secret_key }}"
|
||||
TIMEZONE: "{{ timezone }}"
|
||||
TZ: "{{ timezone }}"
|
||||
|
||||
DB_ENGINE: django.db.backends.postgresql
|
||||
DB_OPTIONS: "{\"sslmode\": \"require\"}"
|
||||
|
|
Reference in a new issue