1pub mod api_keys;
4pub mod backend;
5pub mod broker;
6pub mod crypto;
7pub mod embedded;
8pub mod errors;
9pub mod http;
10#[cfg(feature = "imds")]
11pub mod imds;
12pub mod key_provider;
13pub mod policy;
14pub mod probe;
15pub mod provider;
16pub mod provider_secrets;
17pub mod resolver;
18pub mod rt;
19pub mod seed;
20pub mod signing_keys;
21pub mod spec;
22pub mod spec_compat;
23pub mod spec_registry;
24pub mod spec_schema;
25pub mod spec_validate;
26pub mod types;
27pub mod uri;
28
29pub use crate::spec_registry::SecretSpecRegistry;
30pub use crate::spec_schema::specs_to_json_schema;
31pub use crate::spec_validate::SecretValidationResult;
32pub use api_keys::{
33 billing_api_key_uri, distributor_api_key_uri, get_billing_provider_api_key_ref,
34 get_distributor_api_key_ref, get_repo_api_key_ref, repo_api_key_uri,
35};
36#[cfg(feature = "aws")]
37pub use backend::aws::AwsSecretsManagerBackend;
38#[cfg(feature = "env")]
39pub use backend::env::EnvBackend;
40#[cfg(feature = "file")]
41pub use backend::file::FileBackend;
42#[cfg(feature = "k8s")]
43pub use backend::k8s::K8sBackend;
44pub use backend::{SecretVersion, SecretsBackend, VersionedSecret};
45pub use broker::{BrokerSecret, SecretsBroker};
46pub use crypto::dek_cache::DekCache;
47pub use crypto::envelope::EnvelopeService;
48pub use embedded::{
49 CoreBuilder, CoreConfig, MemoryBackend, MemoryKeyProvider, Policy, SecretsCore, SecretsError,
50};
51pub use errors::{DecryptError, DecryptResult, Error, Result};
52pub use key_provider::KeyProvider;
53pub use policy::{Authorizer, PolicyGuard, Principal};
54pub use provider::Provider;
55pub use provider_secrets::{
56 ProviderSecret, events_provider_secret_uri, get_events_provider_secret,
57 get_messaging_adapter_secret, messaging_adapter_secret_uri, ttl_duration, ttl_seconds,
58};
59pub use resolver::{DefaultResolver, ResolverConfig};
60#[cfg(feature = "dev-store")]
61pub use seed::DevStore;
62pub use seed::{
63 ApplyFailure, ApplyOptions, ApplyReport, BrokerStore, DevContext, HttpStore,
64 NormalizedSeedEntry, SecretsStore, apply_seed, resolve_uri,
65};
66pub use signing_keys::{SigningPurpose, get_signing_key_ref, signing_key_ref_uri};
67pub use spec::{SecretDescribable, SecretSpec};
68pub use types::{
69 ContentType, EncryptionAlgorithm, Envelope, Scope, SecretIdentifier, SecretListItem,
70 SecretMeta, SecretRecord, Visibility,
71};
72pub use uri::SecretUri;