coil-config 0.1.1

Configuration models and loaders for the Coil framework.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(tag = "kind", rename_all = "snake_case")]
pub enum SecretRef {
    Env { var: String },
    SecretManager { provider: String, key: String },
}

impl SecretRef {
    pub fn redacted(&self) -> String {
        match self {
            Self::Env { var } => format!("env:{var}"),
            Self::SecretManager { provider, key } => format!("secret-manager:{provider}:{key}"),
        }
    }
}