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