gendesign/ops/glitchtip-auth-forwarder/Dockerfile
lekss361 71cbdbe238 feat(security): GlitchTip forwarder для basic_auth 401 events (Phase 2 PR #426)
Добавляет sidecar glitchtip-auth-forwarder который tails Caddy access log,
фильтрует 401 события и шлёт их в GlitchTip через Sentry SDK.

- ops/glitchtip-auth-forwarder/forwarder.py: tail + throttle + atomic offset
- Caddy JSON schema верифицирован по реальному логу: status верхнеуровневое,
  request.headers["User-Agent"] — list, client_ip vs remote_ip
- Monitor UAs (GlitchTip uptime, SentryUptimeBot) фильтруются как individual events
- Storm throttle: >10/60s → один digest event типа basic_auth_storm
- docker-compose.prod.yml: caddy_logs volume в caddy + новый service + auth_forwarder_state
- docs/runbooks/basic_auth_management.md: runbook с GlitchTip секцией
2026-05-23 11:38:14 +03:00

14 lines
408 B
Docker

FROM python:3.12-slim
WORKDIR /app
# Устанавливаем только sentry-sdk без лишних extras
RUN pip install --no-cache-dir "sentry-sdk==2.18.0"
COPY forwarder.py .
# nobody (uid 65534) — минимальные привилегии
USER nobody
# -u для unbuffered stdout — docker logs виден сразу без буферизации
CMD ["python", "-u", "forwarder.py"]