pub struct CliResolver { /* private fields */ }Expand description
CLI / environment-sourced workload-identity resolver.
The operator supplies trust domain, service name, tenant slug, and
the typed TenantId (matching tenants.id in the adopter’s
store; adopters with a slug↔UUID registry resolve it once at
startup before constructing the resolver). Holds the resolved
principal as a frozen value; every call to resolve
returns the same Principal::Workload.
Future swap-in for JWT-SVID / mTLS / SPIRE happens at the resolver
boundary; adopter code that depends on PrincipalResolver does
not change.
Implementations§
Source§impl CliResolver
impl CliResolver
Sourcepub fn builder() -> CliResolverBuilder
pub fn builder() -> CliResolverBuilder
Begin a builder for a CliResolver. All fields are required
by build.
Sourcepub fn workload(&self) -> &WorkloadPrincipal
pub fn workload(&self) -> &WorkloadPrincipal
Borrow the resolved workload principal without re-running
resolve. Useful for adopter code that needs the typed
principal at sync call sites (e.g. building log spans).
Sourcepub fn as_workload_principal(&self) -> &WorkloadPrincipal
pub fn as_workload_principal(&self) -> &WorkloadPrincipal
Build a Principal::Human from the same principal data
(CLI-supplied tenant) instead of Principal::Workload.
Useful only in narrow adapter contexts; most adopters want
the default Workload shape from resolve.
Trait Implementations§
Source§impl Clone for CliResolver
impl Clone for CliResolver
Source§fn clone(&self) -> CliResolver
fn clone(&self) -> CliResolver
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CliResolver
impl Debug for CliResolver
Source§impl PrincipalResolver for CliResolver
impl PrincipalResolver for CliResolver
Source§async fn resolve(&self) -> Result<Principal, IdentityError>
async fn resolve(&self) -> Result<Principal, IdentityError>
JwtSvidResolver), read a session
(axess-core’s SessionResolver), or simply return a value
built at construction (CliResolver, MockResolver).Auto Trait Implementations§
impl Freeze for CliResolver
impl RefUnwindSafe for CliResolver
impl Send for CliResolver
impl Sync for CliResolver
impl Unpin for CliResolver
impl UnsafeUnpin for CliResolver
impl UnwindSafe for CliResolver
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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> 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<'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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.