pub struct Config {
system: SystemConfig,
nethsm: Option<NetHsmConfig>,
yubihsm2: Option<YubiHsm2Config>,
}Expand description
The configuration of a Signstar system.
Tracks system-wide configuration items, as well as configurations for specific backends.
Fields§
§system: SystemConfigSystem configuration object.
nethsm: Option<NetHsmConfig>Optional configuration object for NetHSM backends.
§Note
Only supported when using the nethsm feature.
yubihsm2: Option<YubiHsm2Config>Optional configuration object for YubiHSM2 backends.
§Note
Only supported when using the yubihsm2 feature.
Implementations§
Source§impl Config
impl Config
Sourcepub fn user_backend_connection(
&self,
user: &SystemUserId,
) -> Option<UserBackendConnection>
pub fn user_backend_connection( &self, user: &SystemUserId, ) -> Option<UserBackendConnection>
Returns the optional UserBackendConnection matching a SystemUserId.
Sourcepub fn user_backend_connections(
&self,
filter: UserBackendConnectionFilter,
) -> Vec<UserBackendConnection>
pub fn user_backend_connections( &self, filter: UserBackendConnectionFilter, ) -> Vec<UserBackendConnection>
Returns a list of UserBackendConnection objects matching a filter.
Using the UserBackendConnectionFilter filter it is possible to only return
administrative or non-administrative, or all UserBackendConnection objects..
Source§impl Config
impl Config
Sourcepub const DEFAULT_CONFIG_DIR: &str = "/usr/share/signstar/"
pub const DEFAULT_CONFIG_DIR: &str = "/usr/share/signstar/"
The default config directory below “/usr/”.
Sourcepub const RUN_OVERRIDE_CONFIG_DIR: &str = "/run/signstar/"
pub const RUN_OVERRIDE_CONFIG_DIR: &str = "/run/signstar/"
The override config directory below “/run/”.
Sourcepub const ETC_OVERRIDE_CONFIG_DIR: &str = "/etc/signstar/"
pub const ETC_OVERRIDE_CONFIG_DIR: &str = "/etc/signstar/"
The override config directory below “/etc/”.
Sourcepub const CONFIG_NAME: &str = "config"
pub const CONFIG_NAME: &str = "config"
The configuration file name (without file type suffix).
Sourcepub fn default_system_path() -> PathBuf
pub fn default_system_path() -> PathBuf
Returns the default location of the Signstar configuration file on a system.
Sourcepub fn first_existing_system_path() -> Result<PathBuf, Error>
pub fn first_existing_system_path() -> Result<PathBuf, Error>
Returns the first found path of a Signstar configuratino on the system.
§Errors
Returns an error if no configuration file is found.
Sourcepub fn list_config_dirs() -> Vec<PathBuf>
pub fn list_config_dirs() -> Vec<PathBuf>
Returns the list of supported directory paths in which configuration files may reside.
The returned list of paths is sorted in increasing precedence.
Sourcepub fn list_config_file_paths() -> Vec<PathBuf>
pub fn list_config_file_paths() -> Vec<PathBuf>
Returns the list of supported configuration file paths.
The returned list of paths is sorted in increasing precedence.
Sourcefn from_yaml_str(s: &str) -> Result<Self, Error>
fn from_yaml_str(s: &str) -> Result<Self, Error>
Sourcepub fn from_system_path() -> Result<Self, Error>
pub fn from_system_path() -> Result<Self, Error>
Creates a new Config from the first found Signstar configuration file path on the
system.
§Note
Uses Config::first_existing_system_path to determine the first existing Signstar
configuration file path.
§Errors
Returns an error if Config creation from the found path fails.
Sourcepub fn to_yaml_string(&self) -> Result<String, Error>
pub fn to_yaml_string(&self) -> Result<String, Error>
Sourcepub fn system(&self) -> &SystemConfig
pub fn system(&self) -> &SystemConfig
Returns a reference to the SystemConfig.
Sourcepub fn nethsm(&self) -> Option<&NetHsmConfig>
pub fn nethsm(&self) -> Option<&NetHsmConfig>
Returns a reference to the NetHsmConfig.
Sourcepub fn yubihsm2(&self) -> Option<&YubiHsm2Config>
pub fn yubihsm2(&self) -> Option<&YubiHsm2Config>
Returns a reference to the YubiHsm2Config.
Trait Implementations§
Source§impl ConfigAuthorizedKeyEntries for Config
impl ConfigAuthorizedKeyEntries for Config
AuthorizedKeyEntrys.Source§impl ConfigSystemUserIds for Config
impl ConfigSystemUserIds for Config
Source§fn system_user_ids(&self) -> HashSet<&SystemUserId>
fn system_user_ids(&self) -> HashSet<&SystemUserId>
SystemUserIds.Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Validate for Config
impl Validate for Config
Source§fn validate_into(
&self,
__garde_user_ctx: &Self::Context,
__garde_path: &mut dyn FnMut() -> Path,
__garde_report: &mut Report,
)
fn validate_into( &self, __garde_user_ctx: &Self::Context, __garde_path: &mut dyn FnMut() -> Path, __garde_report: &mut Report, )
Self, aggregating all validation errors into Report.§fn validate(&self) -> Result<(), Report>where
Self::Context: Default,
fn validate(&self) -> Result<(), Report>where
Self::Context: Default,
Self, returning an Err with an aggregate of all errors if
the validation failed. Read more§fn validate_with(&self, ctx: &Self::Context) -> Result<(), Report>
fn validate_with(&self, ctx: &Self::Context) -> Result<(), Report>
Self, returning an Err with an aggregate of all errors if
the validation failed. Read moreAuto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.