-
Notifications
You must be signed in to change notification settings - Fork 21
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
Reduce cli command complexity #288
base: develop
Are you sure you want to change the base?
Reduce cli command complexity #288
Conversation
…on, profile resolution, and validations to make these commands more CI/CD friendly.
@david-waltermire - I do not contest there are benefits from simplifying the oscal-cli commands, but ALL CI/CD pipelines and Makefile using the oscal-cli today will no longer work, and NIST/OSCAL project is not the only one using it. This change is not a backwards compatible change, and it should not be approved without OSCAL community's review & feedback, and not without a major release. It affects too many projects & people. |
The goals for this change are to:
This change is backwards compatible. It does not remove the existing pathways or change existing command behaviors; it adds new pathways, which are optional to use. This means it can be done in a minor release. Removal of any pathway should be done through a separate change at a future date, in a future major release. Determining when this will happen needs to be coordinated with the user community. It would be reasonable to allow for a year or so for changes in use to be made. I really don't have a strong opinion around when, only around ensuring that users are not caught off guard by a change. When there is a desire to remove the commands, I would expect this to be socialized for a lengthy period of time before releasing that change. I hope this clears up the intent. If there is interest, the FedRAMP team can probably help with migration to using the new command syntax in the NIST OSCAL repo CI/CD. It shouldn't be much work to do this. This is something we can do through PRs, also providing an easy way to review the changes and test the workflows. |
@david-waltermire - Thank you for all detailed explanations. It makes sense. Supporting the community members' use of the tool without disruption was the trigger for the comment above. |
Committer Notes
Refactored CLI commands to simplify the command pathways for conversion, profile resolution, and validations to make these commands more continuous integration (CI) friendly.
The following commands have been simplified:
oscal-cli (catalog,profile,component-definition,ssp,ap,ar,poam) validate
->oscal-cli validate
oscal-cli (catalog,profile,component-definition,ssp,ap,ar,poam) convert
->oscal-cli convert
oscal-cli profile resolve
->oscal-cli resolve
The original commands now output a message indicating that the command pathway has been deprecated, but still work for backwards compatability.
Also improved the ANSI colors and console streams used for output.
This PR depends on #174, which needs to be merged before this PR.
All Submissions:
"?
Changes to Core Features: