Skip to content

Commit

Permalink
update local targets and root metadata before adding delegation
Browse files Browse the repository at this point in the history
Signed-off-by: Marina Moore <mnm678@gmail.com>
  • Loading branch information
mnm678 committed Nov 18, 2021
1 parent 5581157 commit f340d7e
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
11 changes: 9 additions & 2 deletions tuf-notary/cmd/delegate.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,17 @@ func cmdDelegate(args []string, opts docopt.Opts) error {
registry := args[0]
delegatee := args[1]

//TODO: pull current targets metadata from the registry
err := tufnotary.DownloadTUFMetadata(registry, repository, "root")
if err != nil {
return err
}
err = tufnotary.DownloadTUFMetadata(registry, repository, "targets")
if err != nil {
return err
}

//add delegation
err := tufnotary.Delegate(repository, delegatee, keyfiles, threshold)
err = tufnotary.Delegate(repository, delegatee, keyfiles, threshold)

if err != nil {
return err
Expand Down
18 changes: 18 additions & 0 deletions tuf-notary/registry-access.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,21 @@ func UploadTUFMetadata(registry string, repository string, name string, referenc

return desc, nil
}

func DownloadTUFMetadata(registry string, repository string, name string) error {
ref := registry + "/" + repository + ":" + name

mediaType := "application/vnd.cncf.notary.tuf+json"
ctx := context.Background()

reg, err := content.NewRegistry(content.RegistryOptions{PlainHTTP: true})
if err != nil {
return err
}

fileStore := content.NewFile("")
defer fileStore.Close()
allowedMediaTypes := []string{mediaType}
desc, err := oras.Copy(ctx, reg, ref, fileStore, "", oras.WithAllowedMediaTypes(allowedMediaTypes))
return err
}

0 comments on commit f340d7e

Please sign in to comment.