# Observability Default Configuration # Base defaults for logging, metrics, health checks, and audit let observability_schema = import "../../common/observability.ncl" in { observability | observability_schema.ObservabilityConfig = { # Observability enabled globally enabled = true, # Logging Defaults logging = { enabled = true, level = "info", format = "json", output = { destination = "stdout", }, fields = { service_name = true, timestamp = true, level = true, caller = false, spans = true, }, sampling = { enabled = false, }, }, # Metrics Defaults metrics = { enabled = true, exporter = "prometheus", prometheus_path = "/metrics", interval = 60, histogram_buckets = [1, 5, 10, 50, 100, 500, 1000, 5000], }, # Health Check Defaults health = { enabled = true, port = 8081, liveness_path = "/healthz", readiness_path = "/ready", startup_path = "/startup", interval = 10, timeout = 5000, success_threshold = 1, failure_threshold = 3, initial_delay = 0, }, # Distributed Tracing Defaults tracing = { enabled = false, backend = "otlp", sampler = "parentbased", }, # Audit Logging Defaults audit = { enabled = true, storage = "file", retention_days = 90, include_pii = false, export_formats = ["jsonl"], track_workspace_operations = true, workspace_operations = ["create", "delete", "update", "switch", "list", "sync"], }, }, }