Skip to main content

Federated

Struct Federated 

Source
pub struct Federated { /* private fields */ }
Expand description

A CI job’s OIDC token, exchanged at the security token service for the access token of the WORKLOAD service account a federated credential trusts the job as. The access token is reused until a minute before it expires; then a fresh job token is fetched and exchanged again. An exchange the STS can’t check right now (503) is sent again twice.

Implementations§

Source§

impl Federated

Source

pub fn from_file(path: impl Into<PathBuf>) -> Self

The token in the file at path, read again at every exchange, so that a rotated token is picked up: any CI provider’s, or a Kubernetes projected service account token.

Source

pub fn github_actions( request_url: impl Into<String>, request_token: impl Into<String>, ) -> Self

A GitHub Actions job’s token, requested at request_url with request_token: the values of ACTIONS_ID_TOKEN_REQUEST_URL and ACTIONS_ID_TOKEN_REQUEST_TOKEN, which GitHub sets in a job granted permissions: id-token: write.

Source

pub fn with_endpoint(self, url: impl Into<String>) -> Self

Exchanges the token at the STS at url instead of STS_ENDPOINT.

Source

pub fn with_audience(self, audience: impl Into<String>) -> Self

Requests GitHub’s token for audience instead of OIDC_AUDIENCE. A token file’s audience is whatever its issuer put in it.

Source

pub fn with_http_client(self, http: Client) -> Self

Sends the requests with http, instead of the client all credentials share. Each request is bounded by 30 seconds either way.

Trait Implementations§

Source§

impl Credentials for Federated

Source§

fn token(&self) -> TokenFuture<'_>

A valid access token.
Source§

impl Debug for Federated

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more