use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(default)]
pub struct MetricsConfig {
pub enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(default)]
pub struct TracingConfig {
pub enabled: bool,
pub otlp_endpoint: String,
pub service_name: String,
pub sample_rate: f64,
}
impl Default for TracingConfig {
fn default() -> Self {
Self {
enabled: false,
otlp_endpoint: "http://localhost:4317".to_string(),
service_name: "orion".to_string(),
sample_rate: 1.0,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(default)]
pub struct CorsConfig {
pub allowed_origins: Vec<String>,
}
impl Default for CorsConfig {
fn default() -> Self {
Self {
allowed_origins: vec!["*".to_string()],
}
}
}