Skip to content

Missing reference details in error messages #808

@yizha1

Description

@yizha1

What is not working as expected?

The reference details are missing in error messages from Notation CLI. It is hard to know what is wrong and troubleshooting is time consuming, especially when using Notation CLI in CI/CD pipeline and pass environment variable in the command line.

Here are some examples:

$ notation sign
Error: missing reference

$ notation sign net-monitor:v1
Error: invalid reference: missing repository

$ notation sign test localhost:5000/net-monitor:v1
Error: invalid reference: missing repository

$ notation sign localhost:5001/net-monitor localhost:5001/net-monitor:v1
Error: failed to get manifest descriptor: reference cannot be empty

$ notation sign localhost:5001/net-monitor
Error: failed to get manifest descriptor: reference cannot be empty

$ notation verify
Error: missing reference

$ notation verify localhost:5001/net-monitor
Error: failed to get manifest descriptor: reference cannot be empty

$ notation verify test localhost:5001/net-monitor:v1
Error: invalid reference: missing repository

$ notation verify localhost:5001 localhost:5001/net-monitor:v1
Error: invalid reference: missing repository

$ notation inspect
Error: missing reference

$ notation inspect localhost:5001/net-monitor
Error: failed to get manifest descriptor: reference cannot be empty

$ notation inspect test localhost:5001/net-monitor:v1
Error: invalid reference: missing repository

$ notation ls
Error: no reference specified

$ notation ls test localhost:5000/net-monitor:v1
Error: invalid reference: missing repository

$ notation ls net-monitor:v1
Error: invalid reference: missing repository

What did you expect to happen?

The error message can give clear information about what is missing and what is not correct based on the actual value that users input, for example

$ notation sign
Error: missing reference to the artifact

$ notation sign net-monitor:v1
Error: "net-monitor:v1": invalid reference: missing repository

How can we reproduce it?

Run the example commands

Describe your environment

Linux

What is the version of your Notation CLI or Notation Library?

notation v1.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageNeed to triage

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions