# Default Observability configuration generated by RapidKit
observability:
  module: {{ rapidkit_vendor_module }}
  enabled: {{ enabled_by_default | lower }}
  service_name: {{ observability_defaults.get('service_name', 'rapidkit-app') }}
  environment: {{ observability_defaults.get('environment', 'local') }}
  retry_attempts: {{ retry_attempts_default }}
  resource_attributes:
{% for key, value in resource_attributes_defaults | dictsort %}    {{ key }}: {{ value }}
{% endfor %}
  logging:
    level: {{ logging_defaults.get('level', observability_defaults.get('log_level', 'INFO')) }}
    structured: {{ logging_defaults.get('structured_logging', observability_defaults.get('structured_logging', True)) | lower }}
    include_trace_ids: {{ logging_defaults.get('include_trace_ids', observability_defaults.get('include_trace_ids', True)) | lower }}
  metrics:
    enabled: {{ metrics_defaults.get('enabled', True) | lower }}
    exporter: {{ metrics_defaults.get('exporter', metrics_defaults.get('client', 'prometheus')) }}
    endpoint: {{ metrics_defaults.get('endpoint', metrics_endpoint) }}
    namespace: {{ metrics_defaults.get('namespace', 'rapidkit') }}
    retention_seconds: {{ metrics_defaults.get('retention_seconds', 600) }}
    register_process_metrics: {{ metrics_defaults.get('register_process_metrics', True) | lower }}
    default_labels:
{% for key, value in metrics_defaults.get('default_labels', {}) | dictsort %}      {{ key }}: {{ value }}
{% endfor %}
    buckets: {{ metrics_defaults.get('buckets', [0.1, 0.5, 1, 2.5, 5, 10]) }}
  tracing:
    enabled: {{ tracing_defaults.get('enabled', observability_defaults.get('tracing_enabled', False)) | lower }}
    exporter: {{ tracing_defaults.get('exporter', 'console') }}
    endpoint: {{ tracing_defaults.get('endpoint') }}
    sample_ratio: {{ tracing_defaults.get('sample_ratio', 0.25) }}
    include_headers: {{ tracing_defaults.get('include_headers', True) | lower }}
  events:
    buffer_size: {{ events_defaults.get('buffer_size', 1000) }}
    flush_interval_seconds: {{ events_defaults.get('flush_interval_seconds', 5) }}
    audit_enabled: {{ events_defaults.get('audit_enabled', False) | lower }}
