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