-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Current CLI Interface
Currently sourcetool has a group of check* and other commands which seem redundant and could be simplified to provider a better user experience. This is the current command set of sourcetool:
Usage:
sourcetool [command]
Verification Commands:
audit Verifies multiple commits in the branch history
verifycommit Verifies the specified commit is valid
Assessment Commands:
checklevel Determines the SLSA Source Level of the repo
checklevelprov Checks the given commit against policy using & creating provenance
checktag Checks to see if the tag operation should be allowed and issues a VSA
prov Creates provenance for the given commit, but does not check policy.
status Check the SLSA Source status of a repo/branch
Policy Commands:
createpolicy Creates a policy in a local copy of source-policies
policy tools to work with source policies
Configuration & Setup Commands:
auth Manage user authentication
setup configure SLSA source features in a repository
Proposal
I'd like to propose the following changes to simplify the text user interface:
- Consolidate
checklevel,checklevelprov,checktagandprovto a singlesourcetool attestsubcommand. Te sourcetool api already handles attesting with a singlesourcetool.AttestRevision()function. We can emulate the existing functionality with a singleattestcommand that handles all revision types and controlling the behavior with flags (eg--apply-policy=true) - Rename
verifycommitto simplyverifyand also allow it to verify any type of revision (tags or commits) - Remove
sourcetool createpolicyand move it tosourcetool policy createto group it with the other policy subcommands - Finally add a
sourcetool get repo/orgsubcommand that retrieves the provenance of a revision.
As the old commands are used by the workflows, I propose deprecating but keeping them hidden for a period of time to allow for a phase out period.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request