Logs
Every cloud-side component (API server, gateway, license service) emits structured logs. Two settings control the output:
Environment overrides follow the standard
CYBERUN_<SECTION>_<KEY>
mapping — CYBERUN_LOGGER_LEVEL, CYBERUN_LOGGER_FORMAT.
Structured fields
Logs use these consistent fields where applicable. An aggregator can index on any of them:team_id— the team scope of the request, when team-scoped.user_id— the requesting user, on user-initiated actions.task_id,agent_id,workflow_id— resource references.credential_kind—integration,agent, ordevice; never the credential value.feature— the license feature requirement, when a request is rejected by feature gating.error— the serialized error chain.
Log sources
Traces (OpenTelemetry)
OTLP export is built in and off by default. Enable it per deployment:
When enabled, the API server, gateway, and agent emit spans for
HTTP request handling, task dispatch, tunnel lifecycle, and
runtime invocations. Point the endpoint at any OTLP-compatible
collector (Jaeger, Tempo, Honeycomb, Datadog, Lightstep, etc.).
Metrics
A first-class Prometheus / OpenMetrics endpoint with documented metric names, labels, and recommended alerts is in development. Until that ships, operators typically derive operational signals from:- The HTTP request log’s status and latency fields (aggregator side, e.g. Loki / OpenSearch).
- The OTLP trace data (collector side).
- The license-validator’s renewal events.
Streamed task events
Task progress is published to the internal event bus (task.*
events) that the API server forwards to clients in two shapes:
- HTTP Server-Sent Events at
GET /api/v1/r/tasks/{taskId}/events— the canonical wire format clients subscribe to. - MCP
notifications/progressevents through thestream_task_eventstool (Cloud MCP).
Healthchecks
Each cloud-side process exposes a basic liveness endpoint. The canonical paths, expected payloads, and alerting recommendations land with the public deployment guide. Treat them as standard HTTP200-or-not for now; a formal healthcheck spec is in development.
Audit logging
Access decisions (sign-in, credential issuance, role changes, license-gated rejections) appear in the structured log stream with the field set above. A dedicated audit-log destination (separate sink, separate retention, tamper-evident) is in development for compliance-driven deployments.See also
- Architecture — components that emit the signals above.
- Requirements — what the dependencies contribute to observability (DB query logs, message-bus retention).
- License administration — license events surface in the same log stream as everything else.
