#Operations Guide

Version: 0.33.0 Updated: 2026-03-15 Applies to: ranvier (facade), ranvier-http, ranvier-inspector Category: Deep Dives


Production-ready configuration, health probes, structured logging, and telemetry for Ranvier applications.

#Configuration System

  • RanvierConfig: 4-layer loading โ€” defaults, ranvier.toml, profile overrides, environment variables.
  • Profile Overrides: RANVIER_PROFILE=prod activates [profile.prod] section in ranvier.toml.
  • HttpIngress::config(): Applies server settings and initializes telemetry from config.

#Health & Readiness

Endpoint Description
/health Full health status with registered check results
/ready Readiness probe โ€” returns 200 when all checks pass
/live Liveness probe โ€” always returns 200 (process is alive)
  • health_endpoint(): JSON health status with registered check results.
  • readiness_liveness_default(): Kubernetes-style /ready and /live probes.
  • health_check(): Register async health checks (DB connectivity, external service pings).

#Request Pipeline

  • request_id_layer(): Ensures x-request-id propagation on every request/response.
  • AccessLogGuard: Structured HTTP request/response logging as a Transition node.
  • Path Redaction: AccessLogGuard.redact_paths() for sensitive endpoints like /auth/login.

#Structured Logging

  • config.init_logging(): Initializes tracing subscriber from config.
  • Three formats: json (production, machine-readable), pretty (development), compact.
  • Per-module level overrides via logging.module_levels in ranvier.toml.

#Telemetry & OTLP

  • TelemetryConfig: OTLP endpoint, protocol (gRPC/HTTP), service name, sample ratio.
  • init_telemetry(): No-op when otlp_endpoint is None; auto-initializes TracerProvider when set.
  • Inspector /metrics: Prometheus exposition format for Grafana/AlertManager integration.

#Workflows

  1. Create ranvier.toml with server, logging, telemetry, and inspector sections.
  2. Load config with RanvierConfig::load() and initialize logging with config.init_logging().
  3. Pass config to HttpIngress::config() to apply server settings and start telemetry.
  4. Add health_endpoint() and readiness_liveness_default() for Kubernetes probes.
  5. Enable request_id_layer() for request tracing correlation.
  6. Add AccessLogGuard to Axon pipelines for structured request logging.
  7. Configure OTLP endpoint via environment variable for production tracing.

#Key Types

Type Description
RanvierConfig Top-level config with 4-layer loading (defaults, file, profile, env)
TelemetryConfig OTLP endpoint, protocol, service name, and sampling ratio
AccessLogGuard Transition node for structured HTTP logging with path redaction
LogFormat Structured logging output format: json, pretty, or compact