wick_oci_utils/pull.rs
1use oci_distribution::client::ImageData;
2use oci_distribution::secrets::RegistryAuth;
3use oci_distribution::{Client, Reference};
4
5use crate::error::OciError;
6use crate::{LAYER_MEDIA_TYPE, WASM_MEDIA_TYPE};
7
8pub async fn pull(client: &mut Client, img: &Reference, auth: &RegistryAuth) -> Result<ImageData, OciError> {
9 client
10 .pull(img, auth, vec![WASM_MEDIA_TYPE, LAYER_MEDIA_TYPE])
11 .await
12 .map_err(|e| OciError::OciFetchFailure(img.to_string(), e.to_string()))
13}