Feature request: CRUD on Manifests
Open
Nobody has claimed this yet.
area/distribution
area/manifest
kind/enhancement
- Dominant language
- Go
- Stars
- 6.1k
- Forks
- 2.2k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 43
Description
Today's implementation of docker manifest is not able to perform following tasks:
- create empty manifest list (useful before loops in image building scripts)
- overwrite existing manifest list (allow building scripts to overwrite previous half-baked manifests and start from scratch)
- list locally created manifests
- delete local manifest lists, pushed or not
- remove local image manifest from manifest list
- clear the annotations for selected image
To solve those, I'm proposing a bit of a changes to manifest commands:
manifest create MANIFEST_LIST [MANIFEST...] [flags]- creates manifest list, possibly empty.
Flags can be:--overwrite- remove previous and create new list
manifest listandmanifests- list all local manifestsmanifest delete MANIFEST_LISTmanifest prune- delete all local manifests, after confirmationmanifest add MANIFEST_LIST MANIFEST [annotations]- add local image manifest to a list, possibly with annotations, in format as defined today.manifest annotate MANIFEST_LIST MANIFEST [flags] [annotations]. Same as today, add/overview annotations for already added image.
Flags:--clear- delete all previous annotations for selected image manifest, and then add ones from the list.manifest annotate MANIFEST_LIST MANIFEST --clear(without new annotations) would, effectively clear all annotations.
manifest rm MANIFEST_LIST MANIFEST [MANIFEST...]- remove local image(s) manifest from a list.
Thanks!
Contributor guide
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 existing docker manifest command implementation and its current create and annotate behavior; the issue names no files or tests. Done means supporting the listed create, list, delete, prune, add, annotate, and rm operations, including empty or overwrite creation and annotation clearing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100