1pub 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 provider;
14pub mod resolver;
15pub mod spec;
16pub mod spec_compat;
17pub mod spec_registry;
18pub mod spec_schema;
19pub mod spec_validate;
20pub mod types;
21pub mod uri;
22
23pub use crate::spec_registry::SecretSpecRegistry;
24pub use crate::spec_schema::specs_to_json_schema;
25pub use crate::spec_validate::SecretValidationResult;
26#[cfg(feature = "aws")]
27pub use backend::aws::AwsSecretsManagerBackend;
28#[cfg(feature = "env")]
29pub use backend::env::EnvBackend;
30#[cfg(feature = "file")]
31pub use backend::file::FileBackend;
32#[cfg(feature = "k8s")]
33pub use backend::k8s::K8sBackend;
34pub use backend::{SecretVersion, SecretsBackend, VersionedSecret};
35pub use broker::{BrokerSecret, SecretsBroker};
36pub use crypto::dek_cache::DekCache;
37pub use crypto::envelope::EnvelopeService;
38pub use embedded::{
39 CoreBuilder, CoreConfig, MemoryBackend, MemoryKeyProvider, Policy, SecretsCore, SecretsError,
40};
41pub use errors::{DecryptError, DecryptResult, Error, Result};
42pub use key_provider::KeyProvider;
43pub use policy::{Authorizer, PolicyGuard, Principal};
44pub use provider::Provider;
45pub use resolver::{DefaultResolver, ResolverConfig};
46pub use spec::{SecretDescribable, SecretSpec};
47pub use types::{
48 ContentType, EncryptionAlgorithm, Envelope, Scope, SecretIdentifier, SecretListItem,
49 SecretMeta, SecretRecord, Visibility,
50};
51pub use uri::SecretUri;