oci_basic_usage/
basic_usage.rs1use use_oci::{annotation, descriptor, digest, media_type, platform, reference};
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let parsed_digest: digest::OciDigest =
5 "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".parse()?;
6 let descriptor = descriptor::OciDescriptor::new(
7 media_type::OciMediaType::image_manifest(),
8 parsed_digest,
9 descriptor::DescriptorSize::new(7023),
10 );
11 let linux_arm64 =
12 platform::OciPlatform::new(platform::OciOs::Linux, platform::OciArchitecture::Arm64);
13 let title = annotation::Annotation::title("RustUse OCI example")?;
14 let image_ref: reference::ImageReference =
15 "ghcr.io/rustuse/app:0.1.0@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".parse()?;
16
17 assert_eq!(descriptor.size().as_u64(), 7023);
18 assert_eq!(linux_arm64.to_string(), "linux/arm64");
19 assert_eq!(title.value().as_str(), "RustUse OCI example");
20 assert_eq!(image_ref.repository().as_str(), "rustuse/app");
21 Ok(())
22}