use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GrpcConfig {
#[serde(default = "default_listen_addr")]
pub listen_addr: String,
#[serde(default)]
pub tls: Option<GrpcTlsConfig>,
#[serde(default)]
pub auth_token: Option<String>,
#[serde(default)]
pub max_concurrent_runs: Option<usize>,
}
impl Default for GrpcConfig {
fn default() -> Self {
Self {
listen_addr: default_listen_addr(),
tls: None,
auth_token: None,
max_concurrent_runs: None,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GrpcTlsConfig {
pub cert_path: String,
pub key_path: String,
#[serde(default)]
pub client_ca_path: Option<String>,
}
fn default_listen_addr() -> String {
"[::1]:50051".to_owned()
}