Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Baseline CLI reference for subsequent PRs on changes #171

Merged
merged 4 commits into from
Jul 1, 2022
Merged

Conversation

SteveLasker
Copy link
Contributor

@SteveLasker SteveLasker commented May 5, 2022

Closes #88

Signed-off-by: Steve Lasker [email protected]

@iamsamirzon
Copy link
Contributor

iamsamirzon commented May 10, 2022

  • Need a command for "inspect" the signature
  • Need a "verbose" option, to work with all commands. Especially useful when debugging errors. It can be added to any of the other options ( sign, verify, push, pull)

push Push signature to remote
pull Pull signatures from remote
list, ls List signatures from remote
certificate, cert Manage certificates used for verification
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that we decided to manage certificates using the trust policy defnition, should we drop
certificate and key

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also considering this usecase for local file with passpharse should we possibly have --passpharse as an option for sign. Are we planning to include sub command options for the CLI here?
notaryproject/roadmap#46

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to think through the initial experience and production experiences here.
What is the user experience to get started?
What is the user experience to add remote signed keys?
What is the user experience to add certs for verification?

Today, this can be accomplished with some straight-forward commands.
What will this experience look like in RC1?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

notation cert add is an alpha 1 command created before trust store and trust policy spec was finalized, and is not compatible with the spec. RC1 implements spec which uses trust store and trust policy instead of a global certificate list in config.json. This cert add command needs rename/changes along with possibly new commands to manage trust policy, which are currently not in scope for for RC1 release. RC1 is prioritizing core functionality, sign & verify commands, over usability of other features. We may update some other commands like key add or plugin list as part of ongoing work, but these are not blockers for RC1 release. Users can accomplish these scenarios by manually editing trust store, trust policy, config.json/signingkeys.json . We plan to add/update commands post RC1 and before GA release.

See examples here for how this needs to be configured for RC1 - trust store , trust policy.

@rgnote
Copy link
Contributor

rgnote commented May 17, 2022

validate-trust-policy and validate-trust-store commands (or a single validate-verification-environment command) to validate that the verification environment is configured properly.

Why? Users should be able to validate their environment is set up properly before they use it for their production workloads.

Signed-off-by: Steve Lasker <[email protected]>
@SteveLasker SteveLasker marked this pull request as ready for review June 14, 2022 05:40
@SteveLasker SteveLasker requested a review from a team June 14, 2022 05:40
@SteveLasker
Copy link
Contributor Author

Based on the Notary call today, I've flipped to ready for review/merge.
This reflects what we currently have in notation. Then, we can make separate PRs for each CLI change. For instance, 1 for notation sign, another for notation verify, ...

@SteveLasker SteveLasker dismissed sajayantony’s stale review June 16, 2022 23:30

merging as is, with changes to come as separate PRs

@SteveLasker SteveLasker changed the title Draft PR for CLI command feedback PR for CLI command feedback Jun 16, 2022
## Table of Contents
- [notation](#notation)
- [sign](#sign): Signs artifacts
- [verify](#verify): Verifies OCI Artifacts
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Sign command just says "Sign artifacts", and verifies says "Verifies OCI artifacts". Is that on purpose.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i just copy pasted what the cli currently has. So, yeah, bug that should be changed.
This PR is what exists to be modified.

@SteveLasker SteveLasker requested a review from iamsamirzon June 30, 2022 16:59
@SteveLasker
Copy link
Contributor Author

merging as is, with changes to come as separate PRs

Reminder, this is the baseline of the current experience. We should merge, as-is, then make incremental PRs for each command, or header text.

@SteveLasker SteveLasker changed the title PR for CLI command feedback Baseline CLI reference for subsequent PRs on changes Jul 1, 2022
# Notation CLI

The following spec outlines the notation CLI.
The CLI commands are what's currently available in [notation v0.7.1-alpha.1](https://github.com/notaryproject/notation/releases/tag/v0.7.1-alpha.1)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The CLI commands are what's currently available in [notation v0.7.1-alpha.1](https://github.com/notaryproject/notation/releases/tag/v0.7.1-alpha.1)
The CLI commands are what's currently available in [notation v0.7.1-alpha.1](https://github.com/notaryproject/notation/releases/tag/v0.7.1-alpha.1). The CLI experience in alpha.1 does not represent the final user experience, and CLI commands may have breaking changes before RC release as the CLI experience is refined.

Signed-off-by: Steve Lasker <[email protected]>
Copy link
Contributor

@gokarnm gokarnm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@SteveLasker SteveLasker merged commit 9a3cf7a into main Jul 1, 2022
@SteveLasker SteveLasker deleted the notation-cli branch July 19, 2022 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add specifications for notation CLI commands
5 participants