pub struct CredentialStore { /* private fields */ }Expand description
Credential store for all configured routes.
Implementations§
Source§impl CredentialStore
impl CredentialStore
Sourcepub fn load(
routes: &[RouteConfig],
tls_connector: &TlsConnector,
) -> Result<Self>
pub fn load( routes: &[RouteConfig], tls_connector: &TlsConnector, ) -> Result<Self>
Load credentials for all configured routes from the system keystore.
Routes without a credential_key or oauth2 block are skipped (no
credential injection). Routes whose credential is not found remain
configured but unavailable at request time, so managed-credential
requests fail closed instead of silently accepting agent-supplied
upstream credentials.
OAuth2 routes perform an initial token exchange at startup. If the exchange fails, the route remains configured but unavailable until token acquisition succeeds.
The tls_connector is required for OAuth2 token exchange HTTPS calls.
Returns an error only for hard failures (config parse errors, non-UTF-8 values). Missing or inaccessible credentials are logged as warnings and the route is skipped.
Sourcepub fn get(&self, prefix: &str) -> Option<&LoadedCredential>
pub fn get(&self, prefix: &str) -> Option<&LoadedCredential>
Get a static credential for a route prefix, if configured.
Sourcepub fn get_oauth2(&self, prefix: &str) -> Option<&OAuth2Route>
pub fn get_oauth2(&self, prefix: &str) -> Option<&OAuth2Route>
Get an OAuth2 route (token cache + upstream) for a route prefix, if configured.
Sourcepub fn loaded_prefixes(&self) -> HashSet<String>
pub fn loaded_prefixes(&self) -> HashSet<String>
Returns the set of route prefixes that have loaded credentials (both static keystore and OAuth2 routes).