pub struct Client {
pub cache: Cache,
pub opts: ClientOpts,
/* private fields */
}Expand description
Client for interacting with an OCI registry for Spin applications.
Fields§
§cache: CacheGlobal cache for the metadata, Wasm modules, and static assets pulled from OCI registries.
opts: ClientOptsClient options
Implementations§
Source§impl Client
impl Client
Sourcepub async fn new(insecure: bool, cache_root: Option<PathBuf>) -> Result<Self>
pub async fn new(insecure: bool, cache_root: Option<PathBuf>) -> Result<Self>
Create a new instance of an OCI client for distributing Spin applications.
Sourcepub async fn push(
&mut self,
manifest_path: &Path,
profile: Option<&str>,
reference: impl AsRef<str>,
annotations: Option<BTreeMap<String, String>>,
infer_annotations: InferPredefinedAnnotations,
compose_mode: ComposeMode,
) -> Result<Option<String>>
pub async fn push( &mut self, manifest_path: &Path, profile: Option<&str>, reference: impl AsRef<str>, annotations: Option<BTreeMap<String, String>>, infer_annotations: InferPredefinedAnnotations, compose_mode: ComposeMode, ) -> Result<Option<String>>
Push a Spin application to an OCI registry and return the digest (or None if the digest cannot be determined).
Sourcepub async fn push_locked(
&mut self,
locked: LockedApp,
reference: impl AsRef<str>,
annotations: Option<BTreeMap<String, String>>,
infer_annotations: InferPredefinedAnnotations,
compose_mode: ComposeMode,
) -> Result<Option<String>>
pub async fn push_locked( &mut self, locked: LockedApp, reference: impl AsRef<str>, annotations: Option<BTreeMap<String, String>>, infer_annotations: InferPredefinedAnnotations, compose_mode: ComposeMode, ) -> Result<Option<String>>
Push a Spin application to an OCI registry and return the digest (or None if the digest cannot be determined).
Sourcepub async fn pull(&mut self, reference: &str) -> Result<OciImageManifest>
pub async fn pull(&mut self, reference: &str) -> Result<OciImageManifest>
Pull a Spin application from an OCI registry.
Sourcepub async fn pull_with_digest(
&mut self,
reference: &str,
) -> Result<(OciImageManifest, String)>
pub async fn pull_with_digest( &mut self, reference: &str, ) -> Result<(OciImageManifest, String)>
Pull a Spin application from an OCI registry, returning the manifest and the manifest digest the reference resolved to.
The manifest and locked application are cached under that digest (see
Client::lockfile_path), so pulls of different artifacts from the
same repository never overwrite each other’s cached locked application.
Sourcepub async fn lockfile_path(&self, reference: impl AsRef<str>) -> Result<PathBuf>
pub async fn lockfile_path(&self, reference: impl AsRef<str>) -> Result<PathBuf>
Get the file path to the cached locked app configuration given a reference.
A reference that includes a digest maps to a location keyed by that
digest. A reference without one maps to a location keyed by its tag (or
latest), which a later pull of the same tag overwrites even if the tag
then names a different artifact. To read the locked app of a specific
pull, pass a reference pinned to the digest returned by
Client::pull_with_digest.
Sourcepub async fn login(
server: impl AsRef<str>,
username: impl AsRef<str>,
password: impl AsRef<str>,
) -> Result<()>
pub async fn login( server: impl AsRef<str>, username: impl AsRef<str>, password: impl AsRef<str>, ) -> Result<()>
Save a credential set containing the registry username and password.
Sourcepub async fn insert_token(
&mut self,
reference: &Reference,
op: RegistryOperation,
token: RegistryTokenType,
)
pub async fn insert_token( &mut self, reference: &Reference, op: RegistryOperation, token: RegistryTokenType, )
Insert a token in the OCI client token cache.
Auto Trait Implementations§
impl !Freeze for Client
impl !RefUnwindSafe for Client
impl !UnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl UnsafeUnpin for Client
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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