secrets_core/
lib.rs

1//! Core domain primitives shared across brokers, SDKs, and providers.
2
3pub mod backend;
4pub mod broker;
5pub mod crypto;
6pub mod embedded;
7pub mod errors;
8#[cfg(feature = "imds")]
9pub mod imds;
10pub mod key_provider;
11pub mod policy;
12pub mod probe;
13pub mod spec;
14pub mod spec_registry;
15pub mod spec_schema;
16pub mod spec_validate;
17pub mod types;
18pub mod uri;
19
20pub use crate::spec_registry::SecretSpecRegistry;
21pub use crate::spec_schema::specs_to_json_schema;
22pub use crate::spec_validate::SecretValidationResult;
23#[cfg(feature = "aws")]
24pub use backend::aws::AwsSecretsManagerBackend;
25#[cfg(feature = "env")]
26pub use backend::env::EnvBackend;
27#[cfg(feature = "file")]
28pub use backend::file::FileBackend;
29#[cfg(feature = "k8s")]
30pub use backend::k8s::K8sBackend;
31pub use backend::{SecretVersion, SecretsBackend, VersionedSecret};
32pub use broker::{BrokerSecret, SecretsBroker};
33pub use crypto::dek_cache::DekCache;
34pub use crypto::envelope::EnvelopeService;
35pub use embedded::{
36    CoreBuilder, CoreConfig, MemoryBackend, MemoryKeyProvider, Policy, SecretsCore, SecretsError,
37};
38pub use errors::{DecryptError, DecryptResult, Error, Result};
39pub use key_provider::KeyProvider;
40pub use policy::{Authorizer, PolicyGuard, Principal};
41pub use spec::{SecretDescribable, SecretSpec};
42pub use types::{
43    ContentType, EncryptionAlgorithm, Envelope, Scope, SecretIdentifier, SecretListItem,
44    SecretMeta, SecretRecord, Visibility,
45};
46pub use uri::SecretUri;