-
Notifications
You must be signed in to change notification settings - Fork 183
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
oras pull with cache #203
oras pull with cache #203
Conversation
Could you please show the layout of the cache? |
@sajayantony The cache uses github.com/containerd/containerd/content/local as its content store. The layout of the cache is
Note that the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, this is great. Does it make sense to include index.json (as in OCI Layout?)
We have OCIStore to manage this file: https://github.com/deislabs/oras/blob/main/pkg/content/oci.go
Can we combine that with the containerd/local cache?
@jdolitsky The cache store here must be a pure content-addressable storage (i.e. no refs) so that the cache can be used by multiple Besides, we are actually caching at the blob level not images. Therefore, it does not make sense to add an index. |
Josh, are you asking if we can store the manifests? Both image-index and image-manifest, so they are cached and available to compute digests? |
I'm thinking of Helm here. Had this type of cache (combined with index.json support) had existed, we would not have needed to implemented.. I understand an "oras" pull of reference when working with files does not require saving of the reference (e.g. This has value as general purpose local CAS, will approve. Later if needed we can make a hybrid store from this and |
This change adds simple documentation for the cache functionality added in oras-project#203
This change adds simple documentation for the cache functionality added in #203
Resolves #193. The cache is enabled only when the environment variable
ORAS_CACHE
is set in the CLI.Example usage: