Compare commits

..

2 commits

Author SHA1 Message Date
41f5be2136 Merge pull request 'fix(caddy): смонтировать сниппеты метрик — без них Caddy валит ВЕСЬ прод' (#3103) from fix/caddy-metrics-snippet-mounts into main
Some checks failed
Deploy / changes (push) Successful in 8s
Deploy / perimeter-smoke (push) Successful in 10s
Deploy Infra Host / sync-infra-host (push) Failing after 3s
Deploy / deploy-caddy (push) Has been skipped
Deploy / build-backend (push) Successful in 35s
Deploy / build-frontend (push) Successful in 36s
Deploy / build-worker (push) Successful in 38s
Deploy / deploy (push) Successful in 1m4s
Deploy / deploy-status (push) Successful in 1s
Reviewed-on: #3103
2026-08-26 09:04:06 +00:00
bot-backend
6f9a77f6db fix(caddy): смонтировать сниппеты метрик — без них Caddy валит ВЕСЬ прод
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 9s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
PR #3102 добавил caddy/metrics-ingest.caddy.snippet и metrics-ui.caddy.snippet
плюс `import ../metrics-*.caddy.snippet` в caddy/sites/infra.caddy, но не
добавил bind-монты в docker-compose.prod.yml. Каталог caddy/ внутрь контейнера
целиком не пробрасывается — только пофайлово (как users.caddy.snippet) плюс
каталоги caddy/local и caddy/sites. Файлы лежали на хосте, но внутри
контейнера их не было.

Итог на проде 2026-08-26 ~11:26 MSK: Caddy не смог адаптировать конфиг
(`File to import not found: ../metrics-ingest.caddy.snippet, at
/etc/caddy/caddy/sites/infra.caddy:87`) и ушёл в restart-loop. Легли ВСЕ
сайты хоста — gendsgn.ru, merahome.ru, обе mera-витрины, а не только
metrics.gendsgn.ru, ради которого сниппет и добавляли.

Монтируем оба файла явно, рядом с users.caddy.snippet.
2026-08-26 12:03:23 +03:00

View file

@ -700,6 +700,13 @@ services:
volumes: volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro - ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy/users.caddy.snippet:/etc/caddy/caddy/users.caddy.snippet:ro - ./caddy/users.caddy.snippet:/etc/caddy/caddy/users.caddy.snippet:ro
# #3102 postmortem: сниппеты метрик импортируются из caddy/sites/infra.caddy
# (`import ../metrics-*.caddy.snippet`). Смонтированы ПОФАЙЛОВО, как
# users.caddy.snippet — сам каталог caddy/ внутрь не пробрасывается.
# Забыть монт = Caddy не адаптирует конфиг и уходит в restart-loop,
# роняя ВСЕ сайты хоста, а не только metrics.gendsgn.ru.
- ./caddy/metrics-ingest.caddy.snippet:/etc/caddy/caddy/metrics-ingest.caddy.snippet:ro
- ./caddy/metrics-ui.caddy.snippet:/etc/caddy/caddy/metrics-ui.caddy.snippet:ro
# Untracked локальные site-блоки (см. import в конце Caddyfile). Каталог # Untracked локальные site-блоки (см. import в конце Caddyfile). Каталог
# держится в git через caddy/local/.gitignore — иначе docker создал бы # держится в git через caddy/local/.gitignore — иначе docker создал бы
# отсутствующий bind-source сам, root-owned пустышкой. # отсутствующий bind-source сам, root-owned пустышкой.