epic(infra): Pilot infra status 2026-05-23 — после security pivot #446

Closed
opened 2026-05-23 12:26:01 +00:00 by lekss361 · 1 comment
Owner

Контекст

Снимок инфра-задач после сегодняшнего security pivot (PRs #426-#442).

Все основные endpoints закрыты Caddy basic_auth gate. 11 pilot users. GlitchTip получает 401 events с IP/UA/username. Admin pages работают для всех users без X-Admin-Token.

Critical (до demo 28.05.2026)

  • Cian anchor-jitter refactortradein-mvp/backend/app/services/scrapers/cian.py:222-228 (в рамках текущего Cian refactor, не отдельным PR)
  • sshkey.txt removal — удалить файл + добавить в .gitignore (TODO: создать chore(tradein) issue, оригинальный issue не найден в open). SSH ключ НЕ ротировать (user decision — все данные в Obsidian).
  • DOM.РФ scraper resume — runs 18-25 застряли в status zombie с 2026-05-17, 1532 объектов не обновлялись

High — operational

  • B6-1 Uptime monitoring#75 — Uptime Kuma или healthcheck.io
  • B5-3 Data freshness monitoring#73 — alerts если DOM.РФ/Objective stale
  • bug(#233) pzz_sync#259 — migrate с deprecated pkk.rosreestr.ru на NSPD WMS

Medium — tech debt

  • B6-4 Secrets rotation policy#78 — docs + procedure (важно перед scaling pilot, добавились BASIC_AUTH_HASH + GLITCHTIP_AUTH_DSN)
  • B7-1 152-ФЗ PII audit#79 — review кода на PII в logs/Sentry/БД (особенно новый auth_audit.log и GlitchTip attempted_username)
  • B7-2 License/ToS audit#80 — OSM ODbL, Объектив, DOM.РФ, Open-Meteo
  • bug(frontend) React #418#253 — на /admin/scrape/cadastre (hydration mismatch), нужен re-test после PR #442
  • bug(scrapers) NspdLiteError#252 — retry policy
  • B6-2 VPS resources audit#76 — capacity headroom для нескольких pilot-users (+ GlitchTip forwarder)
  • bug(backend) /api/v1/parcels/{cad} 501#251 — удалить или реализовать
  • feat(tradein) #14 GlitchTip/Sentry#396 — tradein-specific scraper monitoring (общий forwarder уже есть)

Low — cleanup

  • #427 basic_auth username regex (john.doe/jane_smith)
  • #428 PILOT_ACCESS.md role-mailbox вместо personal email
  • #429 list_users.sh fragile regex
  • B9-1 README#83 — обновить под актуальное состояние + quick start
  • B6-3 Frontend build cache#77 — npm + Turborepo remote
  • B8-1 PostHog product analytics#81 — self-hosted EU (можно использовать basic_auth username как stable identity)

GlitchTip open threads (vault project_glitchtip_status.md)

  • GlitchTip Logs feature — не работает (open thread)
  • GlitchTip Dockerfile fix — open thread в vault

Closed today

  • #67 (B3-4 NextAuth) — superseded by PRs #426 / #437 / #442 (Caddy basic_auth gate заменил NextAuth для pilot scope).

Что было сделано сегодня (для истории)

PRs #426, #430, #432, #433, #434, #436, #437, #438, #439, #442 — basic_auth gate + GlitchTip forwarder + admin auth cleanup + UI sync. См. session 2026-05-23.

Также tradein-mvp audit (audits/TradeIn_MVP_CodeReview_May23.md) — 5/6 critical уже FIXED (C-3 config default, C-4 empty estimate persist, C-5 Avito anchor-jitter, C-6 PDF URL allowlist, H-12 deal seed TRUNCATE). Open: C-5 Cian (в рамках Cian refactor).


Создан после consolidation 2026-05-23 после security pivot.

## Контекст Снимок инфра-задач после сегодняшнего security pivot (PRs #426-#442). Все основные endpoints закрыты Caddy basic_auth gate. 11 pilot users. GlitchTip получает 401 events с IP/UA/username. Admin pages работают для всех users без `X-Admin-Token`. ## Critical (до demo 28.05.2026) - [ ] **Cian anchor-jitter refactor** — `tradein-mvp/backend/app/services/scrapers/cian.py:222-228` (в рамках текущего Cian refactor, не отдельным PR) - [ ] **sshkey.txt removal** — удалить файл + добавить в `.gitignore` (TODO: создать chore(tradein) issue, оригинальный issue не найден в open). SSH ключ НЕ ротировать (user decision — все данные в Obsidian). - [ ] **DOM.РФ scraper resume** — runs 18-25 застряли в status `zombie` с 2026-05-17, 1532 объектов не обновлялись ## High — operational - [ ] **B6-1 Uptime monitoring** — #75 — Uptime Kuma или healthcheck.io - [ ] **B5-3 Data freshness monitoring** — #73 — alerts если DOM.РФ/Objective stale - [ ] **bug(#233) pzz_sync** — #259 — migrate с deprecated pkk.rosreestr.ru на NSPD WMS ## Medium — tech debt - [ ] **B6-4 Secrets rotation policy** — #78 — docs + procedure (важно перед scaling pilot, добавились `BASIC_AUTH_HASH` + `GLITCHTIP_AUTH_DSN`) - [ ] **B7-1 152-ФЗ PII audit** — #79 — review кода на PII в logs/Sentry/БД (особенно новый `auth_audit.log` и GlitchTip `attempted_username`) - [ ] **B7-2 License/ToS audit** — #80 — OSM ODbL, Объектив, DOM.РФ, Open-Meteo - [ ] **bug(frontend) React #418** — #253 — на /admin/scrape/cadastre (hydration mismatch), нужен re-test после PR #442 - [ ] **bug(scrapers) NspdLiteError** — #252 — retry policy - [ ] **B6-2 VPS resources audit** — #76 — capacity headroom для нескольких pilot-users (+ GlitchTip forwarder) - [ ] **bug(backend) /api/v1/parcels/{cad} 501** — #251 — удалить или реализовать - [ ] **feat(tradein) #14 GlitchTip/Sentry** — #396 — tradein-specific scraper monitoring (общий forwarder уже есть) ## Low — cleanup - [ ] **#427** basic_auth username regex (`john.doe`/`jane_smith`) - [ ] **#428** PILOT_ACCESS.md role-mailbox вместо personal email - [ ] **#429** list_users.sh fragile regex - [ ] **B9-1 README** — #83 — обновить под актуальное состояние + quick start - [ ] **B6-3 Frontend build cache** — #77 — npm + Turborepo remote - [ ] **B8-1 PostHog product analytics** — #81 — self-hosted EU (можно использовать basic_auth username как stable identity) ## GlitchTip open threads (vault `project_glitchtip_status.md`) - [ ] **GlitchTip Logs feature** — не работает (open thread) - [ ] **GlitchTip Dockerfile fix** — open thread в vault ## Closed today - **#67 (B3-4 NextAuth)** — superseded by PRs #426 / #437 / #442 (Caddy basic_auth gate заменил NextAuth для pilot scope). ## Что было сделано сегодня (для истории) PRs #426, #430, #432, #433, #434, #436, #437, #438, #439, #442 — basic_auth gate + GlitchTip forwarder + admin auth cleanup + UI sync. См. session 2026-05-23. Также tradein-mvp audit (`audits/TradeIn_MVP_CodeReview_May23.md`) — 5/6 critical уже FIXED (C-3 config default, C-4 empty estimate persist, C-5 Avito anchor-jitter, C-6 PDF URL allowlist, H-12 deal seed TRUNCATE). Open: C-5 Cian (в рамках Cian refactor). --- *Создан после consolidation 2026-05-23 после security pivot.*
Collaborator

Закрыто — это point-in-time infra-снапшот от 2026-05-23 (>1 мес назад), большинство пунктов давно сделано: Critical — cian anchor-jitter (#1912, commit 1d5b081), sshkey.txt в .gitignore (#391); High — Uptime monitoring (#75 deployed); инфра-слой рефакторнут (#915 browser-миграция + #1921-#1924). Снапшот устарел/superseded последующей работой. Если остались актуальные инфра-пункты — лучше свежим тикетом (этот как статус-снимок своё отжил).

✅ Закрыто — это **point-in-time infra-снапшот от 2026-05-23** (>1 мес назад), большинство пунктов давно сделано: Critical — cian anchor-jitter (#1912, commit 1d5b081), sshkey.txt в .gitignore (#391); High — Uptime monitoring (#75 deployed); инфра-слой рефакторнут (#915 browser-миграция + #1921-#1924). Снапшот устарел/superseded последующей работой. Если остались актуальные инфра-пункты — лучше свежим тикетом (этот как статус-снимок своё отжил).
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#446
No description provided.