Добавляет 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 секцией
14 lines
408 B
Docker
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"]
|