pub struct KeyManager<T, D>{ /* private fields */ }encryption only.Expand description
KeyManager encapsulates all functionality within Serf for handling
encryption keyring changes across a cluster.
Implementations§
Source§impl<T, D> KeyManager<T, D>
impl<T, D> KeyManager<T, D>
Sourcepub async fn install_key(
&self,
key: SecretKey,
opts: Option<KeyRequestOptions>,
) -> Result<KeyResponse<T::Id>, Error<T, D>>
pub async fn install_key( &self, key: SecretKey, opts: Option<KeyRequestOptions>, ) -> Result<KeyResponse<T::Id>, Error<T, D>>
Handles broadcasting a query to all members and gathering responses from each of them, returning a list of messages from each node and any applicable error conditions.
Sourcepub async fn use_key(
&self,
key: SecretKey,
opts: Option<KeyRequestOptions>,
) -> Result<KeyResponse<T::Id>, Error<T, D>>
pub async fn use_key( &self, key: SecretKey, opts: Option<KeyRequestOptions>, ) -> Result<KeyResponse<T::Id>, Error<T, D>>
Handles broadcasting a primary key change to all members in the cluster, and gathering any response messages. If successful, there should be an empty KeyResponse returned.
Sourcepub async fn remove_key(
&self,
key: SecretKey,
opts: Option<KeyRequestOptions>,
) -> Result<KeyResponse<T::Id>, Error<T, D>>
pub async fn remove_key( &self, key: SecretKey, opts: Option<KeyRequestOptions>, ) -> Result<KeyResponse<T::Id>, Error<T, D>>
Handles broadcasting a key to the cluster for removal. Each member will receive this event, and if they have the key in their keyring, remove it. If any errors are encountered, RemoveKey will collect and relay them.
Sourcepub async fn list_keys(&self) -> Result<KeyResponse<T::Id>, Error<T, D>>
pub async fn list_keys(&self) -> Result<KeyResponse<T::Id>, Error<T, D>>
Used to collect installed keys from members in a Serf cluster and return an aggregated list of all installed keys. This is useful to operators to ensure that there are no lingering keys installed on any agents. Since having multiple keys installed can cause performance penalties in some cases, it’s important to verify this information and remove unneeded keys.
Auto Trait Implementations§
impl<T, D> !Freeze for KeyManager<T, D>
impl<T, D> !RefUnwindSafe for KeyManager<T, D>
impl<T, D> Send for KeyManager<T, D>
impl<T, D> Sync for KeyManager<T, D>
impl<T, D> Unpin for KeyManager<T, D>
impl<T, D> !UnwindSafe for KeyManager<T, D>
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more