pub struct Registry { /* private fields */ }Expand description
Registry of storage-driver factories, keyed by DriverName per kind.
Each driver crate calls the register_* methods (typically from a single
register(&mut Registry) entry point) to make its backends selectable by
name. The loader then uses validate to check a
StorageConfig and the build_* methods to instantiate the chosen stores.
Implementations§
Source§impl Registry
impl Registry
Sourcepub fn register_policy_store(
&mut self,
name: impl Into<DriverName>,
factory: Box<dyn PolicyStoreFactory>,
)
pub fn register_policy_store( &mut self, name: impl Into<DriverName>, factory: Box<dyn PolicyStoreFactory>, )
Register a policy-store driver under name.
Sourcepub fn register_audit_sink(
&mut self,
name: impl Into<DriverName>,
factory: Box<dyn AuditSinkFactory>,
)
pub fn register_audit_sink( &mut self, name: impl Into<DriverName>, factory: Box<dyn AuditSinkFactory>, )
Register an audit-sink driver under name.
Sourcepub fn register_session_store(
&mut self,
name: impl Into<DriverName>,
factory: Box<dyn SessionStoreFactory>,
)
pub fn register_session_store( &mut self, name: impl Into<DriverName>, factory: Box<dyn SessionStoreFactory>, )
Register a session-store driver under name.
Sourcepub fn register_credential_store(
&mut self,
name: impl Into<DriverName>,
factory: Box<dyn CredentialStoreFactory>,
)
pub fn register_credential_store( &mut self, name: impl Into<DriverName>, factory: Box<dyn CredentialStoreFactory>, )
Register a credential-store driver under name.
Sourcepub fn register_rate_limit_counter(
&mut self,
name: impl Into<DriverName>,
factory: Box<dyn RateLimitCounterFactory>,
)
pub fn register_rate_limit_counter( &mut self, name: impl Into<DriverName>, factory: Box<dyn RateLimitCounterFactory>, )
Register a rate-limit-counter driver under name.
Sourcepub fn register_lifecycle_store(
&mut self,
name: impl Into<DriverName>,
factory: Box<dyn LifecycleStoreFactory>,
)
pub fn register_lifecycle_store( &mut self, name: impl Into<DriverName>, factory: Box<dyn LifecycleStoreFactory>, )
Register a lifecycle-store driver under name.
Sourcepub fn policy_store_names(&self) -> Vec<&str>
pub fn policy_store_names(&self) -> Vec<&str>
Names of all registered policy-store drivers, sorted.
Sourcepub fn audit_sink_names(&self) -> Vec<&str>
pub fn audit_sink_names(&self) -> Vec<&str>
Names of all registered audit-sink drivers, sorted.
Sourcepub fn session_store_names(&self) -> Vec<&str>
pub fn session_store_names(&self) -> Vec<&str>
Names of all registered session-store drivers, sorted.
Sourcepub fn credential_store_names(&self) -> Vec<&str>
pub fn credential_store_names(&self) -> Vec<&str>
Names of all registered credential-store drivers, sorted.
Sourcepub fn rate_limit_counter_names(&self) -> Vec<&str>
pub fn rate_limit_counter_names(&self) -> Vec<&str>
Names of all registered rate-limit-counter drivers, sorted.
Sourcepub fn lifecycle_store_names(&self) -> Vec<&str>
pub fn lifecycle_store_names(&self) -> Vec<&str>
Names of all registered lifecycle-store drivers, sorted.
Sourcepub fn validate(&self, config: &StorageConfig) -> Result<(), ConfigError>
pub fn validate(&self, config: &StorageConfig) -> Result<(), ConfigError>
Check every driver named in config is registered and has a subsection.
Returns the first ConfigError encountered. This is the entry point
behind aasm config validate.
Sourcepub fn build_policy_store(
&self,
config: &StorageConfig,
) -> Result<Arc<dyn PolicyStore>, ConfigError>
pub fn build_policy_store( &self, config: &StorageConfig, ) -> Result<Arc<dyn PolicyStore>, ConfigError>
Build the configured PolicyStore.
Sourcepub fn build_audit_sink(
&self,
config: &StorageConfig,
) -> Result<Arc<dyn AuditSink>, ConfigError>
pub fn build_audit_sink( &self, config: &StorageConfig, ) -> Result<Arc<dyn AuditSink>, ConfigError>
Build the configured AuditSink.
Sourcepub fn build_session_store(
&self,
config: &StorageConfig,
) -> Result<Arc<dyn SessionStore>, ConfigError>
pub fn build_session_store( &self, config: &StorageConfig, ) -> Result<Arc<dyn SessionStore>, ConfigError>
Build the configured SessionStore.
Sourcepub fn build_credential_store(
&self,
config: &StorageConfig,
) -> Result<Arc<dyn CredentialStore>, ConfigError>
pub fn build_credential_store( &self, config: &StorageConfig, ) -> Result<Arc<dyn CredentialStore>, ConfigError>
Build the configured CredentialStore.
Sourcepub fn build_rate_limit_counter(
&self,
config: &StorageConfig,
) -> Result<Arc<dyn RateLimitCounter>, ConfigError>
pub fn build_rate_limit_counter( &self, config: &StorageConfig, ) -> Result<Arc<dyn RateLimitCounter>, ConfigError>
Build the configured RateLimitCounter.
Sourcepub fn build_lifecycle_store(
&self,
config: &StorageConfig,
) -> Result<Arc<dyn LifecycleStore>, ConfigError>
pub fn build_lifecycle_store( &self, config: &StorageConfig, ) -> Result<Arc<dyn LifecycleStore>, ConfigError>
Build the configured LifecycleStore.