tradein/auth 8: DevOps — SESSION_SECRET + AUTH_MODE=dual на прод; cutover follow-up #2558

Open
opened 2026-07-30 06:22:08 +00:00 by lekss361 · 0 comments
Owner

Часть эпика #2549 (шаг 8/8). Env-подготовка parallel-safe (можно сразу), cutover — после bake. Worker: devops-engineer + ручной шаг на VPS (secrets не в репо/промпты).

Часть A — env-подготовка (ДО деплоя #2552!)

  • VPS .env.runtime (tradein-backend): SESSION_SECRET (random 32+ байт, сгенерировать на VPS, НЕ коммитить, НЕ логировать), AUTH_MODE=dual.
  • Порядок критичен: без SESSION_SECRET код #2552 упадёт на старте (settings validation) → verify docker exec tradein-backend printenv | grep -c SESSION_SECRET = 1 до мержа #2552.

Часть B — cutover (отдельный PR, ПОСЛЕ #2550–#2557 + bake-период)

  • Условие: все активные аккаунты успешно логинились через DB-auth ≥N дней (по user_events.login_success).
  • AUTH_MODE=db_only; Caddyfile — снять import caddy/users.caddy.snippet с блоков /trade-in*; caddy reload.
  • caddy/users.caddy.snippet + auth/roles.yaml пометить deprecated (не удалять молча — main-бекенд Site Finder всё ещё использует roles.yaml).

Что НЕ делать

Не трогать basic_auth для Site Finder-части (не-trade-in роуты) — этот эпик только про trade-in.

Часть эпика #2549 (шаг 8/8). Env-подготовка **parallel-safe** (можно сразу), cutover — после bake. Worker: devops-engineer + ручной шаг на VPS (secrets не в репо/промпты). ## Часть A — env-подготовка (ДО деплоя #2552!) - VPS `.env.runtime` (tradein-backend): `SESSION_SECRET` (random 32+ байт, сгенерировать на VPS, НЕ коммитить, НЕ логировать), `AUTH_MODE=dual`. - Порядок критичен: без `SESSION_SECRET` код #2552 упадёт на старте (settings validation) → verify `docker exec tradein-backend printenv | grep -c SESSION_SECRET` = 1 до мержа #2552. ## Часть B — cutover (отдельный PR, ПОСЛЕ #2550–#2557 + bake-период) - Условие: все активные аккаунты успешно логинились через DB-auth ≥N дней (по `user_events.login_success`). - `AUTH_MODE=db_only`; `Caddyfile` — снять `import caddy/users.caddy.snippet` с блоков `/trade-in*`; `caddy reload`. - `caddy/users.caddy.snippet` + `auth/roles.yaml` пометить deprecated (не удалять молча — main-бекенд Site Finder всё ещё использует roles.yaml). ## Что НЕ делать Не трогать basic_auth для Site Finder-части (не-trade-in роуты) — этот эпик только про trade-in.
lekss361 added the
auth
needs-human
scope/devops
tradein
labels 2026-07-30 06:23:38 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2558
No description provided.