use-oci 0.0.1

Feature-gated facade crate for RustUse OCI primitives
Documentation
use use_oci::{annotation, descriptor, digest, media_type, platform, reference};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let parsed_digest: digest::OciDigest =
        "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".parse()?;
    let descriptor = descriptor::OciDescriptor::new(
        media_type::OciMediaType::image_manifest(),
        parsed_digest,
        descriptor::DescriptorSize::new(7023),
    );
    let linux_arm64 =
        platform::OciPlatform::new(platform::OciOs::Linux, platform::OciArchitecture::Arm64);
    let title = annotation::Annotation::title("RustUse OCI example")?;
    let image_ref: reference::ImageReference =
        "ghcr.io/rustuse/app:0.1.0@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".parse()?;

    assert_eq!(descriptor.size().as_u64(), 7023);
    assert_eq!(linux_arm64.to_string(), "linux/arm64");
    assert_eq!(title.value().as_str(), "RustUse OCI example");
    assert_eq!(image_ref.repository().as_str(), "rustuse/app");
    Ok(())
}