Commit graph

3 commits

Author SHA1 Message Date
lekss361
5beed7dfce fix(security): forwarder PermissionError — убрать USER nobody (read /var/log/caddy)
Caddy пишет access log под UID 0; контейнер с USER nobody (65534)
не может открыть файл → ни один auth event не пересылался (GlitchTip issue #71).

Удалён USER nobody из Dockerfile — форвардер запускается под root.
Security: caddy_logs mount read-only, нет network listener, нет shell.
auth_forwarder_state — write-only форвардера, не shared с другими сервисами.

Добавлен throttle на capture_exception: не более 1 Sentry event в 5 минут
при persistent ошибке (деque-паттерн как у basic_auth_storm).
2026-05-23 11:58:10 +03:00
03dc8e6735 feat(security): GlitchTip forwarder для basic_auth 401 events (Phase 2 PR #426) (#430)
All checks were successful
Deploy / changes (push) Successful in 5s
Deploy / build-backend (push) Successful in 27s
Deploy / build-worker (push) Successful in 27s
Deploy / build-frontend (push) Successful in 26s
Deploy / deploy (push) Successful in 54s
2026-05-23 08:42:36 +00:00
lekss361
4f034bd86b ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts
- backend/alembic/* — alembic infra (env.py, script.py.mako). versions/ empty
  for now; first migration goes in Stage 2a when models are finalized.
- backend/Dockerfile: bake alembic.ini + alembic/ into the image so
  `docker compose exec backend alembic upgrade head` works in prod.
- backend/db/init/99_drop_unused_extensions.sql + bind-mount in both compose
  files: drops postgis-image's TIGER/topology/fuzzystrmatch on fresh volumes.
- .pre-commit-config.yaml + pre-commit in dev deps: ruff/prettier on commit
  to stop CI failures like UP035 from leaking out.
- ops/backup.sh, ops/restore.sh: pg_dump cron script with optional Selectel S3
  upload. 7-day local retention. Restore guard: requires RESTORE_CONFIRM=yes.
- Makefile: new targets `make migration NAME=...`, `make pre-commit-install`.
- backend/.env.example: SENTRY_DSN comment with sentry.io reference.
2026-04-26 13:08:51 +03:00