fix(caddy): разделение сайтов по хостам доходит до контейнера #3088

Merged
lekss361 merged 1 commit from fix/3059-caddy-sites-env into main 2026-08-24 21:44:14 +00:00

1 commit

Author SHA1 Message Date
bot-backend
00df38bc2a fix(caddy): разделение сайтов по хостам доходит до контейнера
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 10s
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
#3059 развёл восемь доменов по двум файлам и научил Caddyfile импортировать
подмножество через `import caddy/sites/{$CADDY_SITES:*}.caddy`. Но у сервиса
caddy в environment стоял только TRADEIN_INTERNAL_AUTH_SECRET, а env_file нет
вовсе — переменной в контейнере не было никогда.

Плейсхолдер такого вида раскрывает сам Caddy из окружения своего процесса, а не
compose при разборе файла. Значит значение с хоста до него не доходило, всегда
работал дефолт `*`, и всё разделение существовало только на бумаге. Обнаружилось
бы это в день переезда и молча: Caddy на продовом хосте импортировал бы и блок
инфраструктурных доменов, пошёл бы выпускать сертификаты для obsidian, errors и
git, чей DNS остаётся на другой машине, HTTP-01 падал бы, а Let's Encrypt при
этом считает неудачи — пять на домен в час.

Дефолт `*` сохранён, поэтому сегодня не меняется ничего: пока переменная не
задана ни на одном хосте, импортируются оба файла ровно как раньше. В окне
переезда достаточно задать её на каждой машине.

Проверено на живом caddy:2 через `caddy adapt` с реальным конфигом, по списку
host-матчеров в готовом JSON: переменная не задана — восемь доменов
(gendsgn.ru, www, три меры, obsidian, errors, git); CADDY_SITES=apps — пять
уезжающих; CADDY_SITES=infra — три остающихся.

Refs #3059, #3057
2026-08-25 00:33:55 +03:00