Ansible: рестарт контейнеров переведён на handlers
- caddyproxy, netdata, authelia, bifrost, remembos: конфиг-задачи нотифаят handler "Restart application" вместо безусловного или условного рестарта - ansible.cfg: force_handlers, иначе упавший прогон теряет notify и рестарт, применяющий правку конфига, не случится уже никогда - authelia рестартит только authelia_app, чтобы не сбрасывать сессии в redis
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Handlers рестарта для оставшихся приложений
|
||||
|
||||
**Приоритет:** средний
|
||||
|
||||
Паттерн `handlers` + `notify` внедрён в caddyproxy, netdata, authelia, bifrost,
|
||||
remembos (см. задачу `ansible-handlers-restart`, закрыта). Остались плейбуки, где
|
||||
конфиг bind-моунтится в контейнер, но рестарта нет **вообще** — правка конфига без
|
||||
изменения docker-compose.yml не подхватывается до следующего пересоздания
|
||||
контейнера:
|
||||
|
||||
- `playbook-apprise.yml` — `server.cfg` → `config_dir:/config`.
|
||||
- `playbook-dashboard.yml` — `config/*.yaml` → `config_dir:/app/config`.
|
||||
- `playbook-transcriber.yml` — `config.toml` bind-моунтится **отдельным файлом**
|
||||
(`{{ config_file }}:/config/config.toml:ro`). Худший случай: `template`
|
||||
перезаписывает файл с новым inode, и контейнер продолжает видеть старый до
|
||||
рестарта.
|
||||
- `playbook-miniflux.yml` — файлы секретов роли `secrets` → `secrets_dir:/secrets:ro`,
|
||||
читаются через `*_FILE` при старте.
|
||||
|
||||
Заодно проверить `playbook-goaccess.yml`: конфиг там не монтируется, но
|
||||
`Dockerfile`/`entrypoint.sh` меняются без изменения compose-файла — надо
|
||||
убедиться, что `build: always` действительно пересоздаёт контейнер.
|
||||
|
||||
Отдельный кандидат: caddy сейчас перезапускается целиком, хотя умеет
|
||||
`caddy reload` — применение Caddyfile без разрыва соединений на реверс-прокси,
|
||||
через который идёт весь трафик. В `playbook-caddyproxy.yml` для этого уже лежит
|
||||
закомментированный блок с `docker_compose_v2_exec`.
|
||||
|
||||
Связано: playbook-apprise.yml, playbook-dashboard.yml, playbook-transcriber.yml,
|
||||
playbook-miniflux.yml, playbook-goaccess.yml, playbook-caddyproxy.yml.
|
||||
Reference in New Issue
Block a user