opencontainers / opencontainers/image-spec
Proposal: descriptor: "dependency" property
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 4.5k
- Forks
- 891
- Avg merge
- 27d 2h
- Merged PRs (30d)
- 1
Description
A blob referenced via descriptor MAY be a fine-graind CAS archive. e.g. continuity manifest. (WIP: https://github.com/opencontainers/image-spec/issues/577)
This might make it difficult to implement "gc" for blob store, because the actual referenced blob set cannot be assured just by parsing OCI descriptors.
So I suggest adding a new property named dependency to the descriptor spec.
{
"mediaType": "application/vnd.continuity.manifest.v0+json",
"digest": "sha256:deadbeef",
"size": 424242,
"dependency": {
"type": "media-specific"
},
}
When dependency.type is media-specific, implementations can skip pruning unless it is aware of the corresponding mediaType.
Spec Proposal (for v1.0 if possible)
-
dependency.typestringThis OPTIONAL property specifies the type of the content set that targeted content refers.
Values SHOULD be one of the followings:- ``(empty): the set is empty
media-specific: the set is specific to the media type of the targeted content
Implementor's Note
Implementations MAY compute unreferenced blob set so as to prune them.
When implementations encouters a descpritor of which dependency.type is media-specific and the implementation is not aware of the corresponding media type, or dependency.type is set to unknown value, the implementation SHOULD NOT try to compute unreferenced blob set.
Post-v1
e.g. list (can be huge)
"dependency": {
"type": "list",
"list": [
"sha256:f00",
"sha256:baa",
]
}
e.g. list as a text file blob
"dependency": {
"type": "blob",
"blob": {
"mediaType": "application/vnd.oci.dependency.v2+text",
"digest": "sha256:ba2",
"size": 4242
}
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the descriptor specification and the linked continuity-manifest discussion in issue 577. This proposal needs a maintainer decision on the dependency model and version scope before implementation can begin; done would mean an agreed schema and corresponding specification update.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100