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_credentials;
43
44#[cfg(feature = "persistent")]
45pub mod git_credentials;
46
47#[cfg(feature = "vault")]
48mod vault;
49
50pub use cluster_dek::ClusterDek;
51pub use cluster_signer::{
52 list_valid_pubkeys, load_signer_for_kid, prune_expired_grace, rotate_keystore, ClusterCa,
53 ClusterSigner, FileBackend, KeystoreRotationResult, PubkeyInfo, PubkeyStatus, SigningBackend,
54};
55pub use encryption::EncryptionKey;
56pub use error::{Result, SecretsError};
57pub use jwt::{JwtSecretManager, ENV_JWT_SECRET};
58pub use key_manager::{load_or_generate_node_keypair, node_secrets_key_path, KeyManager};
59pub use node_effects::NodeSideEffects;
60pub use provider::{EnvScopeProvider, SecretsProvider, SecretsResolver, SecretsStore};
61pub use raft_sm::SecretsState;
62pub use raft_store::{RaftSecretsHandle, RaftSecretsStore};
63pub use sealed::{RecipientPrivateKey, RecipientPublicKey, SealedError, SealedSecret};
64pub use types::{RotationResult, Secret, SecretMetadata, SecretRef, SecretScope};
65pub use worker_bootstrap::{
66 issue_worker_bootstrap_token, verify_worker_bootstrap_token, WorkerBootstrapClaims,
67 WorkerBootstrapToken,
68};
69pub use worker_ca::{
70 WorkerCa, DEFAULT_CA_VALIDITY_YEARS, DEFAULT_LEAF_VALIDITY_DAYS, WORKER_CA_CERT_FILE,
71 WORKER_CA_KEY_FILE,
72};
73
74#[cfg(feature = "persistent")]
75pub use client_keys::{ActorKind, ClientKeyStore, ClientPublicKey, PersistentClientKeyStore};
76
77#[cfg(feature = "persistent")]
78pub use persistent::PersistentSecretsStore;
79
80#[cfg(feature = "persistent")]
81pub use credentials::CredentialStore;
82
83#[cfg(feature = "persistent")]
84pub use git_credentials::{GitCredential, GitCredentialKind, GitCredentialStore};
85
86#[cfg(feature = "persistent")]
87pub use registry_credentials::{RegistryAuthType, RegistryCredential, RegistryCredentialStore};
88
89#[cfg(feature = "vault")]
90pub use vault::VaultSecretsProvider;