oras-project / oras-project/oras-java

Provide a way to create manifest config conform to mounting the image as a volume with containerd/crio etc

Open
#457 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
37
Forks
27
Avg merge
4h 57m
Merged PRs (30d)
42

Description

What would you like to be added?

Provide a way to push an artifact layer with a manifest config containing the mimics of an oci runtime image.

See:

It will still take a lot of time util oci artifacts will be supported natively, see https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/4639-oci-volume-source#kubelet-and-container-runtime-interface-cri-support-for-oci-artifacts

Why is this needed for ORAS?

One of the main benefits from oras would be to mount the images into a pod as a volume. Currently that is not possible as containerd does not support the oci artifact spec. You need the rootfs element with the diffId digest of the uncompressed layer.

Are you willing to submit PRs to contribute to this feature?
  • Yes, I am willing to implement it.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository files, tests, or entry points are identified in the issue. Start by reading the linked containerd issues and Kubernetes KEP, then inspect how oras-java represents artifact layers and manifest configs; done means producing a config with the uncompressed layer diffId and rootfs information needed to mount the artifact as a volume.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.