pub struct RegistrationStore { /* private fields */ }Expand description
In-memory registration entry store for SPIRE-style workload attestation.
Implementations§
Source§impl RegistrationStore
impl RegistrationStore
Sourcepub async fn register(&self, entry: RegistrationEntry)
pub async fn register(&self, entry: RegistrationEntry)
Add a registration entry.
Sourcepub async fn match_selectors(
&self,
workload_selectors: &[WorkloadSelector],
) -> Vec<SpiffeId>
pub async fn match_selectors( &self, workload_selectors: &[WorkloadSelector], ) -> Vec<SpiffeId>
Find all SPIFFE IDs that match the given selectors.
A workload matches a registration entry if the workload’s selectors are a superset of the entry’s selectors.
Sourcepub async fn attest(
&self,
evidence: &AttestationEvidence,
) -> Result<AttestationResult>
pub async fn attest( &self, evidence: &AttestationEvidence, ) -> Result<AttestationResult>
Perform workload attestation: given evidence, extract selectors and find matching IDs.
Sourcepub async fn remove_by_spiffe_id(&self, id: &SpiffeId)
pub async fn remove_by_spiffe_id(&self, id: &SpiffeId)
Remove entries matching a SPIFFE ID.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RegistrationStore
impl !RefUnwindSafe for RegistrationStore
impl Send for RegistrationStore
impl Sync for RegistrationStore
impl Unpin for RegistrationStore
impl UnsafeUnpin for RegistrationStore
impl !UnwindSafe for RegistrationStore
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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