-
Notifications
You must be signed in to change notification settings - Fork 274
Combine the beta and regular provisioner commands #673
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly ok, but I added a few comments that should be easy to fix.
go.mod
Outdated
replace github.com/smallstep/certificates => ../certificates | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remember to change this, you can also point to a branch version of certificates so the CI can compile it.
if err := client.auth.ReloadAdminResources(ctx); err != nil { | ||
return nil, errors.Wrapf(err, "error loading provisioners from config") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this fail if we want to change a bad OIDC configuration present in the ca.json?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch! I think we have two general options here:
- I can build the provisioner collection my self and then set it on the Authority using something like With ProvisionerCollection - OR -
- I can lazy load the provisioner - which could have the benefit of fixing the bug where the CA becomes unusable if, for some reason, the OIDC configuration changes and breaks the currently stored one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few minor improvements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Yes, step ca provisioner add cicd --type JWK --create --no-private-key
didn't make any sense.
- add back provisionerbeta with deprecation warnings - add deprecation warnings to adminbeta - place admin in new position
- additional cleanup and cleanup around loadProvisioner
- fix durationFlags defaulting to 0s values - remove no-private-key flag in favor of private-key="" - fix deprecation warnings for adminbeta and provisionerbeta
Name of feature:
Improvement to provisioner CRUD commands
Pain or issue this feature alleviates:
Use the same commands to perform CRUD on provisioners - rather than having a separate
beta
subcommand with different flags.Why is this important to the project (if not answered above):
Uniform implementation and execution. Prevents further drift and provides a unified experience for operators. Also, prevents the need for different sets of documentation that currently confuses users.
Is there documentation on how to use this feature? If so, where?
Yes, the existing provisioner documentation.
In what environments or workflows is this feature supported?
All of them.
In what environments or workflows is this feature explicitly NOT supported (if any)?
N/A
Supporting links/other PRs/issues:
Fixes smallstep/certificates#886
Fixes #676
💔Thank you!