Skip to main content

Troubleshooting

Start with the failing boundary and the exact error. Infrastructure status helps locate an outage, but a green endpoint probe does not validate routing, schema compatibility or data delivery.

SymptomCheck
ERR_CONNECTION_REFUSEDContainer state, published port and the console listener on 8081 or the service's own API port
Docker permission deniedAccess to the active Docker socket/context; this precedes application startup
Login returns 503PostgreSQL availability and server logs; do not rotate the token as a first response
Login rejected or rate-limitedCorrect operator credential, clock/session settings and retry interval
Login works but WebSocket failsSame-origin proxy, upgrade headers, configured prefix and origin policy
Assets return HTML or 404Console build base matches backend prefix; proxy preserves assets and plugin paths
Service absentConsul endpoint, advertised address, registration/health and version identity
Saved configuration not activePer-instance applied/rejected status and custom validator reason
Hook unavailableTemporal capability, binding existence/validity, worker health and task queue
Event not processedNATS capability, durable consumer, rule pause and DLQ; rules also require Temporal
No telemetry rowsRange, source labels, Collector export, backend retention and query expression
Module standalone works, embedded failsShared runtime versions, SDK major, relative lazy assets and production CSP
API type/reference missingRoute schema, transitive descriptor imports or bundled relative $ref path

Inspect the development stack​

docker compose --profile full -f docker-compose.yaml \
-f docker-compose.observability.yaml -f docker-compose.dev.yaml ps
make dev-logs

Use the same Compose files that started the installation. Stop make dev before running conformance processes that own the same ports/service names.

Authentication versus availability​

An expired/revoked cookie requires login. A backend outage requires recovery. Preserve drafts and distinguish these states. Never put the operator token in a URL, browser local storage or a screenshot shared for debugging.

Unknown mutation outcome​

Record the operation ID and inspect Audit plus the target runtime. A timeout can occur after the backend accepted the action. Do not use repeated clicks as a recovery mechanism.

Telemetry and audit​

Check the Collector's receiver, processing and exporter paths separately. Browser proxy traffic cannot enter trusted application audit. Audit ingest can partially reject invalid/oversized records while committing valid ones; inspect rejection metrics rather than retrying malformed records forever.

Before reporting a defect​

Include release/commit, deployment mode, affected service/instance, reproduction steps, error code and whether the failure is deterministic. Redact credentials and business payloads. State which checks actually ran; skipped integration tests do not establish live behavior.