Skip to main content

secrets_core/
spec.rs

1/// Static metadata describing a secret dependency.
2#[derive(Clone, Debug, PartialEq, Eq)]
3pub struct SecretSpec {
4    /// Stable, machine readable key (e.g. `"TELEGRAM_TOKEN"`).
5    pub name: &'static str,
6    /// Optional human-facing hint used in prompts or documentation.
7    pub description: Option<&'static str>,
8}
9
10/// Trait implemented by zero-sized marker types to surface secret specs.
11pub trait SecretDescribable {
12    /// Return the static list of secrets required by the component.
13    fn secret_specs() -> &'static [SecretSpec];
14}