caddyproxy: Caddyfile применяется через caddy reload

- вместо рестарта всего прокси, через который идёт весь трафик; конфиг
  указан явно через --config, иначе caddy молча перезагружает не тот файл
- задача handlers-remaining-apps удалена из беклога
This commit is contained in:
av
2026-08-22 19:08:08 +03:00
parent 3bb85b85f6
commit 16f0712a31
2 changed files with 10 additions and 16 deletions
-1
View File
@@ -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
View File
@@ -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