vector/secrets/
test.rs

1use std::collections::{HashMap, HashSet};
2
3use vector_lib::configurable::configurable_component;
4
5use crate::{config::SecretBackend, signal};
6
7/// Configuration for the `test` secrets backend.
8#[configurable_component(secrets("test"))]
9#[derive(Clone, Debug, Default)]
10pub struct TestBackend {
11    /// Fixed value to replace all secrets with.
12    pub replacement: String,
13}
14
15impl_generate_config_from_default!(TestBackend);
16
17impl SecretBackend for TestBackend {
18    async fn retrieve(
19        &mut self,
20        secret_keys: HashSet<String>,
21        _: &mut signal::SignalRx,
22    ) -> crate::Result<HashMap<String, String>> {
23        Ok(secret_keys
24            .into_iter()
25            .map(|k| (k, self.replacement.clone()))
26            .collect())
27    }
28}