caddyproxy: Caddyfile применяется через caddy reload
- вместо рестарта всего прокси, через который идёт весь трафик; конфиг указан явно через --config, иначе caddy молча перезагружает не тот файл - задача handlers-remaining-apps удалена из беклога
This commit is contained in:
@@ -31,7 +31,6 @@ _(sec-ревью)_ — три независимых security-ревью на м
|
|||||||
- [Gitea runner on-demand в Yandex Cloud](gitea-runner-on-demand.md) — раннер активен только во время сборки; webhook→Cloud Function стартует ВМ, probe/decide гасят по idle; экономия ~95%
|
- [Gitea runner on-demand в Yandex Cloud](gitea-runner-on-demand.md) — раннер активен только во время сборки; webhook→Cloud Function стартует ВМ, probe/decide гасят по idle; экономия ~95%
|
||||||
- [Синхронизация общих Ansible-ролей между репозиториями](shared-roles-sync.md) — `owner`/`eget`/`secrets` дублируются между репозиториями и дрейфуют; канон в ansible-shared + rsync-таски invoke
|
- [Синхронизация общих Ansible-ролей между репозиториями](shared-roles-sync.md) — `owner`/`eget`/`secrets` дублируются между репозиториями и дрейфуют; канон в ansible-shared + rsync-таски invoke
|
||||||
- [Уведомления о размере приложений и заполнении диска](disk-usage-alerts.md) — алерты на заполнение диска и аномальный рост data-томов; сервер ресурсно ограничен _(tududi)_
|
- [Уведомления о размере приложений и заполнении диска](disk-usage-alerts.md) — алерты на заполнение диска и аномальный рост data-томов; сервер ресурсно ограничен _(tududi)_
|
||||||
- [Handlers рестарта для оставшихся приложений](handlers-remaining-apps.md) — apprise/dashboard/transcriber/miniflux монтируют конфиг в контейнер, но рестарта нет вовсе; правка конфига не подхватывается
|
|
||||||
- [Composable-роль `backup`](ansible-backup-role.md) — бэкап — самый чистый шов для extraction (одинаков у всех, различается только список targets) _(ансибл-ревью)_
|
- [Composable-роль `backup`](ansible-backup-role.md) — бэкап — самый чистый шов для extraction (одинаков у всех, различается только список targets) _(ансибл-ревью)_
|
||||||
- [Вывести из оборота секреты с широкими правами](narrow-secret-scopes.md) — `yc_oauth_token` (весь аккаунт Yandex Cloud) уже выведен; осталось проставить радиус остальным переменным vault и сузить широкие
|
- [Вывести из оборота секреты с широкими правами](narrow-secret-scopes.md) — `yc_oauth_token` (весь аккаунт Yandex Cloud) уже выведен; осталось проставить радиус остальным переменным vault и сузить широкие
|
||||||
- [outline: секреты из файлов](secrets-file-outline.md) — умеет generic `<NAME>_FILE` для всех пяти секретов; единственное приложение, где выносится вообще всё, включая пароль БД
|
- [outline: секреты из файлов](secrets-file-outline.md) — умеет generic `<NAME>_FILE` для всех пяти секретов; единственное приложение, где выносится вообще всё, включая пароль БД
|
||||||
|
|||||||
+10
-15
@@ -74,7 +74,7 @@
|
|||||||
owner: "{{ app_user }}"
|
owner: "{{ app_user }}"
|
||||||
group: "{{ app_user }}"
|
group: "{{ app_user }}"
|
||||||
mode: "0640"
|
mode: "0640"
|
||||||
notify: "Restart application"
|
notify: "Reload caddy configuration"
|
||||||
|
|
||||||
- name: "Copy docker compose file"
|
- name: "Copy docker compose file"
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
@@ -92,21 +92,16 @@
|
|||||||
tags:
|
tags:
|
||||||
- run-app
|
- run-app
|
||||||
|
|
||||||
# - name: "Reload caddy"
|
|
||||||
# community.docker.docker_compose_v2_exec:
|
|
||||||
# project_src: '{{ base_dir }}'
|
|
||||||
# service: "{{ service_name }}"
|
|
||||||
# command: caddy reload --config /etc/caddy/Caddyfile
|
|
||||||
# tags:
|
|
||||||
# - run-app
|
|
||||||
|
|
||||||
handlers:
|
handlers:
|
||||||
# Приложение читает конфиги только при старте, а `state: present` не
|
# `state: present` не пересоздаёт контейнер, если docker-compose.yml не
|
||||||
# пересоздаёт контейнер, если docker-compose.yml не изменился, — поэтому
|
# изменился, — правку Caddyfile надо применять отдельно. Через прокси идёт
|
||||||
# правку конфига применяет только явный рестарт.
|
# весь трафик, поэтому не рестарт, а `caddy reload`: конфиг применяется без
|
||||||
- name: "Restart application"
|
# разрыва соединений. Конфиг указываем явно — без --config caddy берёт файл
|
||||||
community.docker.docker_compose_v2:
|
# из своего рабочего каталога и молча перезагружает не то.
|
||||||
|
- name: "Reload caddy configuration"
|
||||||
|
community.docker.docker_compose_v2_exec:
|
||||||
project_src: "{{ base_dir }}"
|
project_src: "{{ base_dir }}"
|
||||||
state: "restarted"
|
service: "{{ service_name }}"
|
||||||
|
command: "caddy reload --config /etc/caddy/Caddyfile"
|
||||||
tags:
|
tags:
|
||||||
- run-app
|
- run-app
|
||||||
|
|||||||
Reference in New Issue
Block a user