Skip to main content

dkdc_secrets/
lib.rs

1//! Secrets management for dkdc
2//!
3//! This module provides a simple interface for managing encrypted secrets
4//! stored in the dkdc data lake.
5
6use anyhow::Result;
7use dkdc_lake::Lake;
8
9/// List all secret names
10pub fn list_secrets() -> Result<Vec<String>> {
11    let lake = Lake::new()?;
12    lake.list_secrets()
13}
14
15/// Set a secret value
16pub fn set_secret(name: &str, value: &[u8]) -> Result<()> {
17    let lake = Lake::new()?;
18    lake.set_secret(name, value)
19}
20
21/// Get a secret value
22pub fn get_secret(name: &str) -> Result<Option<Vec<u8>>> {
23    let lake = Lake::new()?;
24    lake.get_secret(name)
25}
26
27/// Delete a secret
28pub fn delete_secret(name: &str) -> Result<()> {
29    let lake = Lake::new()?;
30    lake.delete_secret(name)?;
31    Ok(())
32}