Ansible: рестарт контейнеров переведён на handlers
- caddyproxy, netdata, authelia, bifrost, remembos: конфиг-задачи нотифаят handler "Restart application" вместо безусловного или условного рестарта - ansible.cfg: force_handlers, иначе упавший прогон теряет notify и рестарт, применяющий правку конфига, не случится уже никогда - authelia рестартит только authelia_app, чтобы не сбрасывать сессии в redis
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user