greentic-secrets-spec 0.5.0

Canonical traits and data models for Greentic secrets (read/write, versioning, metadata).
Documentation
#![cfg_attr(not(feature = "std"), no_std)]

#[cfg(not(feature = "std"))]
extern crate alloc;

pub mod backend;
pub mod error;
pub mod helpers;
pub mod key_provider;
pub mod requirements;
pub mod result_ext;
pub mod serde_util;
pub mod types;
pub mod uri;

pub use backend::{SecretVersion, SecretsBackend, VersionedSecret};
pub use error::{DecryptError, DecryptResult, Error, Result, SecretsError, SecretsResult};
pub use helpers::*;
pub use key_provider::*;
pub use requirements::*;
pub use result_ext::*;
pub use serde_util::*;
pub use types::*;
pub use uri::*;

#[cfg(not(feature = "std"))]
use alloc::sync::Arc;
#[cfg(feature = "std")]
use std::sync::Arc;

pub type DynSecretsBackend = Arc<dyn SecretsBackend + Send + Sync>;

pub mod prelude {
    pub use crate::ResultExt;
    pub use crate::uri::*;
    pub use crate::{
        Envelope, KeyProvider, SecretIdentifier, SecretListItem, SecretMeta, SecretRecord,
        SecretsBackend, SecretsError, SecretsResult, record_from_plain, with_ttl,
    };
}