in pkg/attestation/import.go [37:70]
func Import(ctx context.Context, options types.Options) error {
opt, ok := options.(*types.AttestationOptions)
if !ok || opt == nil {
return errors.New("valid options required")
}
if err := options.Validate(); err != nil {
return errors.Wrap(err, "error validating options")
}
resourceURL, err := container.GetFullURL(opt.Source)
if err != nil {
return errors.Wrap(err, "error getting full url")
}
log.Info().Msgf("Resource URL: %s", resourceURL)
nr := utils.NoteResource{
Project: fmt.Sprintf("projects/%s", opt.Project),
NoteID: fmt.Sprintf("aactl-intoto_%x", sha256.Sum256([]byte(resourceURL))),
}
envs, err := provenance.GetVerifiedEnvelopes(ctx, resourceURL)
if err != nil {
return errors.Wrap(err, "error unpacking message")
}
//_ = deleteNoteOccurrences(ctx, nr, resourceURL)
err = importEnvelopes(ctx, envs, nr, resourceURL)
if err != nil {
return errors.Wrap(err, "error importing envelopes")
}
return nil
}