Implement Tags method on ManifestService
This commit is contained in:
parent
45c29be442
commit
c71089c653
5 changed files with 67 additions and 0 deletions
|
@ -64,6 +64,8 @@ func (pm *pathMapper) path(spec pathSpec) (string, error) {
|
|||
repoPrefix := append(rootPrefix, "repositories")
|
||||
|
||||
switch v := spec.(type) {
|
||||
case manifestTagsPath:
|
||||
return path.Join(append(repoPrefix, v.name, "manifests")...), nil
|
||||
case manifestPathSpec:
|
||||
// TODO(sday): May need to store manifest by architecture.
|
||||
return path.Join(append(repoPrefix, v.name, "manifests", v.tag)...), nil
|
||||
|
@ -109,6 +111,14 @@ type pathSpec interface {
|
|||
pathSpec()
|
||||
}
|
||||
|
||||
// manifestTagsPath describes the path elements required to point to the
|
||||
// directory with all manifest tags under the repository.
|
||||
type manifestTagsPath struct {
|
||||
name string
|
||||
}
|
||||
|
||||
func (manifestTagsPath) pathSpec() {}
|
||||
|
||||
// manifestPathSpec describes the path elements used to build a manifest path.
|
||||
// The contents should be a signed manifest json file.
|
||||
type manifestPathSpec struct {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue