1pub mod cluster_dek;
18mod cluster_signer;
19mod encryption;
20mod error;
21mod jwt;
22mod key_manager;
23pub mod node_effects;
24mod provider;
25pub mod raft_sm;
26pub mod raft_store;
27pub mod sealed;
28mod types;
29mod worker_bootstrap;
30mod worker_ca;
31
32#[cfg(feature = "persistent")]
33pub mod client_keys;
34
35#[cfg(feature = "persistent")]
36mod persistent;
37
38#[cfg(feature = "persistent")]
39pub mod credentials;
40
41#[cfg(feature = "persistent")]
42pub mod registry_auth;
43
44#[cfg(feature = "persistent")]
45pub mod registry_credentials;
46
47#[cfg(feature = "persistent")]
48pub mod git_credentials;
49
50#[cfg(feature = "vault")]
51mod vault;
52
53pub use cluster_dek::ClusterDek;
54pub use cluster_signer::{
55 list_valid_pubkeys, load_signer_for_kid, prune_expired_grace, rotate_keystore, ClusterCa,
56 ClusterSigner, FileBackend, KeystoreRotationResult, PubkeyInfo, PubkeyStatus, SigningBackend,
57};
58pub use encryption::EncryptionKey;
59pub use error::{Result, SecretsError};
60pub use jwt::{JwtSecretManager, ENV_JWT_SECRET};
61pub use key_manager::{load_or_generate_node_keypair, node_secrets_key_path, KeyManager};
62pub use node_effects::NodeSideEffects;
63pub use provider::{EnvScopeProvider, SecretsProvider, SecretsResolver, SecretsStore};
64pub use raft_sm::SecretsState;
65pub use raft_store::{RaftSecretsHandle, RaftSecretsStore};
66pub use sealed::{RecipientPrivateKey, RecipientPublicKey, SealedError, SealedSecret};
67pub use types::{RotationResult, Secret, SecretMetadata, SecretRef, SecretScope};
68pub use worker_bootstrap::{
69 issue_worker_bootstrap_token, verify_worker_bootstrap_token, WorkerBootstrapClaims,
70 WorkerBootstrapToken,
71};
72pub use worker_ca::{
73 WorkerCa, DEFAULT_CA_VALIDITY_YEARS, DEFAULT_LEAF_VALIDITY_DAYS, WORKER_CA_CERT_FILE,
74 WORKER_CA_KEY_FILE,
75};
76
77#[cfg(feature = "persistent")]
78pub use client_keys::{ActorKind, ClientKeyStore, ClientPublicKey, PersistentClientKeyStore};
79
80#[cfg(feature = "persistent")]
81pub use persistent::PersistentSecretsStore;
82
83#[cfg(feature = "persistent")]
84pub use credentials::{CredentialStore, ExportedCredential};
85
86#[cfg(feature = "persistent")]
87pub use git_credentials::{GitCredential, GitCredentialKind, GitCredentialStore};
88
89#[cfg(feature = "persistent")]
90pub use registry_auth::{resolve_registry_auth_async, resolve_stored_registry_auth};
91
92#[cfg(feature = "persistent")]
93pub use registry_credentials::{RegistryAuthType, RegistryCredential, RegistryCredentialStore};
94
95#[cfg(feature = "vault")]
96pub use vault::VaultSecretsProvider;