Runbook
What healthy looks like
GET /actuator/healthis UP.- Kong route for this service returns a non-5xx for a known probe path.
- If the service produces events,
auth.event_outboxpending count is near zero and lag is under 30 seconds.
Failure modes
- Communication-service unreachable: OTP request fails. Check communication delivery logs and the auth-to-communication URL.
- Refresh reuse: rotation rejects the old token and revokes the family. Inspect
auth.refresh_tokens. - Outbox unpublished: user-registered events never reach social or feed. See the outbox lag runbook.
Diagnose
- Take the
traceIdfrom the client error body orX-Request-Id. - In Loki, filter
serviceandtraceId. ConfirmoutcomeandhttpStatus. - If the symptom is delayed side effects, check outbox pending for schema
authand the consumer group named in Events. - Check Hikari pool exhaustion and Redis latency on the service dashboard before restarting.
Repair
Restart the single service container or Gradle process. Do not truncate outbox, inbox, or stream data to "clear" an error. Replay dead letters from the relay admin API after the consumer bug is fixed.