Ansible: рестарт контейнеров переведён на handlers

- caddyproxy, netdata, authelia, bifrost, remembos: конфиг-задачи нотифаят
  handler "Restart application" вместо безусловного или условного рестарта
- ansible.cfg: force_handlers, иначе упавший прогон теряет notify и рестарт,
  применяющий правку конфига, не случится уже никогда
- authelia рестартит только authelia_app, чтобы не сбрасывать сессии в redis
This commit is contained in:
av
2026-07-24 21:05:27 +03:00
parent 1cf660b4fd
commit 9c156df0c7
10 changed files with 75 additions and 40 deletions
+6 -6
View File
@@ -41,7 +41,7 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
register: config_file_result
notify: "Restart application"
- name: "Copy docker compose file"
ansible.builtin.template:
@@ -50,7 +50,6 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
register: docker_compose_file_result
- name: 'Login to Yandex Container Registry'
community.docker.docker_login:
@@ -66,12 +65,13 @@
tags:
- run-app
- name: "Restart docker compose services if config changed but not docker-compose.yml"
handlers:
# Приложение читает конфиги только при старте, а `state: present` не
# пересоздаёт контейнер, если docker-compose.yml не изменился, — поэтому
# правку конфига применяет только явный рестарт.
- name: "Restart application"
community.docker.docker_compose_v2:
project_src: "{{ base_dir }}"
state: "restarted"
when:
- config_file_result.changed
- not docker_compose_file_result.changed
tags:
- run-app