-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New project: opencontainers/oras #66
Comments
I'm open to it, @opencontainers/tob has the final say, thoughts? |
++ I love this! |
right on. I'm indifferent to this yet. I think I saw the tool as more of a conversation starter for the opencontainers/artifacts, rather than a tool that folks would incorporate. |
I think it is definitely tied to the artifacts work, and if it makes more sense we could rebrand it to the "artifacts" CLI and place it into that repo. And of course, if the decision is made to adopt it, we can discuss a redesign/rewrite of the tool's API to better meet the needs of OCI as it relates to artifacts and more generalized use of distribution-spec. In any case, I'm under the opinion that it's better to have the code somewhere in this org (vs. deislabs) in order to continue to prove out the spec(s) as they evolve. |
@jdolitsky and @shizhMSFT initially built ORAS to support Helm in a registry, which led to the Artifacts project. ORAS can push and pull any OCI thing to/from an OCI distribution spec compliant registry. What I really liked about their design was it can be a Whether it's named ORAS (OCI Registry As Storage) or something else is something to discuss. I really like Josh's logo, but I suppose it could also be something like ORaA (OCI Registry as Artifacts). As a project moves into a foundation, the question is whether it will be maintained? Is it just one person, one company? ORAS has multiple contributors, with @jdolitsky and @shizhMSFT as the most active. I do suspect we'll have others as we finalize the artifacts spec and other registries complete their support. I would keep it as a separate repo as it has builds that are triggered that should be separate from the artifacts spec. So, LGTM |
My 2 cents: I haven't really look at ORAS code in depth, but I have played with the functionality and is feature set. and I like the overall idea, I mean, an object store that acts as a container registry can open the door for OCI 2.0 image and other ideas. like not using TAR files to store layers, but a new packaging paradigm as is being explored for OCIv2 |
As a user of ORAS, for Conftest, I'm supportive of this. I found it easy to integrate and not to have caused any issues so far. It's a good way for Go folks to quickly see the potential of the artifact work. Some quick background, as it would be good to document some patterns for future users. This was the thread where we settled on OPA media types. open-policy-agent/opa#1413. Advice and guidance here would be useful for future implementers. ORAS makes that easy to implement once you determine the media types you want. |
@jdolitsky can you turn this into a PR like #67 ? we can move the discussion there |
will do, yes |
This has been created as a PR: #68 Closing this issue - please continue discussion there |
Summary
Adopt the ORAS project located at deislabs/oras.
Overview
ORAS is a CLI that can publish arbitrary content to an OCI registry, with special features for setting mediatypes on manifest configs and on content.
Note: the manifest mediatype itself is always
application/vnd.oci.image.manifest.v1+json
.Example - uploading rockets, a brand new type of package:
See manifest created:
Get that thing:
Additional Usage
ORAS is built primarily on top of Go packages provided by containerd, but it also imports packages from the docker/cli, which enables "docker-style" auth login:
There are also public Go packages available to build on top of ORAS. The following is the equivalent of the rocket example with the CLI above, but in Go:
You can see all features in the project README.
Adoption
The following projects are already successfully using ORAS to work with custom artifacts:
Why move it into opencontainers?
For a few reasons:
The text was updated successfully, but these errors were encountered: