Skip to content

Known Issues

Gotchas observed in the codebase, and places where the README / infra manifests disagree with the current code.

Default NATS URL assumes an in-cluster service

The built-in default for nats_url is nats://nats.infra.svc:4222. For local development set GCTD_NATS_URL (or the nats_url config key) to your local NATS, e.g. nats://localhost:4222.

Recently resolved

These previously-discovered gaps have been fixed and the docs now match the code:

  • Health endpoints — the app now serves GET /livez (liveness), GET /readyz (readiness: Postgres reachable + NATS connected), and GET /health (liveness alias). The infra/ manifests probe /readyz + /livez, and the Docker image uses /health in its HEALTHCHECK.
  • NATS consumer — workers use a shared pull consumer (crap-workers on the crap_jobs_scan stream, MaxDeliver 3, AckWait 10m). The README now describes this correctly (no push-consumer migration step).
  • run-worker.sh — now launches worker (was serve) and exports GCTD_CACHE_DIRECTORY instead of the non-existent GCTD_HTTP_ADDR.
  • make run — now targets serve (go run . serve); a run-worker target runs worker.