mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 13:37:30 +00:00
Add dry-run to auth reconcile
Signed-off-by: Matt Rogers <mrogers@redhat.com>
This commit is contained in:
parent
8306b0b1a4
commit
20cd94de17
@ -39,6 +39,7 @@ import (
|
|||||||
type ReconcileOptions struct {
|
type ReconcileOptions struct {
|
||||||
PrintFlags *genericclioptions.PrintFlags
|
PrintFlags *genericclioptions.PrintFlags
|
||||||
FilenameOptions *resource.FilenameOptions
|
FilenameOptions *resource.FilenameOptions
|
||||||
|
DryRun bool
|
||||||
|
|
||||||
Visitor resource.Visitor
|
Visitor resource.Visitor
|
||||||
RBACClient rbacv1client.RbacV1Interface
|
RBACClient rbacv1client.RbacV1Interface
|
||||||
@ -87,6 +88,7 @@ func NewCmdReconcile(f cmdutil.Factory, streams genericclioptions.IOStreams) *co
|
|||||||
o.PrintFlags.AddFlags(cmd)
|
o.PrintFlags.AddFlags(cmd)
|
||||||
|
|
||||||
cmdutil.AddFilenameOptionFlags(cmd, o.FilenameOptions, "identifying the resource to reconcile.")
|
cmdutil.AddFilenameOptionFlags(cmd, o.FilenameOptions, "identifying the resource to reconcile.")
|
||||||
|
cmd.Flags().BoolVar(&o.DryRun, "dry-run", o.DryRun, "If true, display results but do not submit changes")
|
||||||
cmd.MarkFlagRequired("filename")
|
cmd.MarkFlagRequired("filename")
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
@ -128,6 +130,9 @@ func (o *ReconcileOptions) Complete(cmd *cobra.Command, f cmdutil.Factory, args
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if o.DryRun {
|
||||||
|
o.PrintFlags.Complete("%s (dry run)")
|
||||||
|
}
|
||||||
printer, err := o.PrintFlags.ToPrinter()
|
printer, err := o.PrintFlags.ToPrinter()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -168,7 +173,7 @@ func (o *ReconcileOptions) RunReconcile() error {
|
|||||||
switch t := info.Object.(type) {
|
switch t := info.Object.(type) {
|
||||||
case *rbacv1.Role:
|
case *rbacv1.Role:
|
||||||
reconcileOptions := reconciliation.ReconcileRoleOptions{
|
reconcileOptions := reconciliation.ReconcileRoleOptions{
|
||||||
Confirm: true,
|
Confirm: !o.DryRun,
|
||||||
RemoveExtraPermissions: false,
|
RemoveExtraPermissions: false,
|
||||||
Role: reconciliation.RoleRuleOwner{Role: t},
|
Role: reconciliation.RoleRuleOwner{Role: t},
|
||||||
Client: reconciliation.RoleModifier{
|
Client: reconciliation.RoleModifier{
|
||||||
@ -184,7 +189,7 @@ func (o *ReconcileOptions) RunReconcile() error {
|
|||||||
|
|
||||||
case *rbacv1.ClusterRole:
|
case *rbacv1.ClusterRole:
|
||||||
reconcileOptions := reconciliation.ReconcileRoleOptions{
|
reconcileOptions := reconciliation.ReconcileRoleOptions{
|
||||||
Confirm: true,
|
Confirm: !o.DryRun,
|
||||||
RemoveExtraPermissions: false,
|
RemoveExtraPermissions: false,
|
||||||
Role: reconciliation.ClusterRoleRuleOwner{ClusterRole: t},
|
Role: reconciliation.ClusterRoleRuleOwner{ClusterRole: t},
|
||||||
Client: reconciliation.ClusterRoleModifier{
|
Client: reconciliation.ClusterRoleModifier{
|
||||||
@ -199,7 +204,7 @@ func (o *ReconcileOptions) RunReconcile() error {
|
|||||||
|
|
||||||
case *rbacv1.RoleBinding:
|
case *rbacv1.RoleBinding:
|
||||||
reconcileOptions := reconciliation.ReconcileRoleBindingOptions{
|
reconcileOptions := reconciliation.ReconcileRoleBindingOptions{
|
||||||
Confirm: true,
|
Confirm: !o.DryRun,
|
||||||
RemoveExtraSubjects: false,
|
RemoveExtraSubjects: false,
|
||||||
RoleBinding: reconciliation.RoleBindingAdapter{RoleBinding: t},
|
RoleBinding: reconciliation.RoleBindingAdapter{RoleBinding: t},
|
||||||
Client: reconciliation.RoleBindingClientAdapter{
|
Client: reconciliation.RoleBindingClientAdapter{
|
||||||
@ -215,7 +220,7 @@ func (o *ReconcileOptions) RunReconcile() error {
|
|||||||
|
|
||||||
case *rbacv1.ClusterRoleBinding:
|
case *rbacv1.ClusterRoleBinding:
|
||||||
reconcileOptions := reconciliation.ReconcileRoleBindingOptions{
|
reconcileOptions := reconciliation.ReconcileRoleBindingOptions{
|
||||||
Confirm: true,
|
Confirm: !o.DryRun,
|
||||||
RemoveExtraSubjects: false,
|
RemoveExtraSubjects: false,
|
||||||
RoleBinding: reconciliation.ClusterRoleBindingAdapter{ClusterRoleBinding: t},
|
RoleBinding: reconciliation.ClusterRoleBindingAdapter{ClusterRoleBinding: t},
|
||||||
Client: reconciliation.ClusterRoleBindingClientAdapter{
|
Client: reconciliation.ClusterRoleBindingClientAdapter{
|
||||||
|
Loading…
Reference in New Issue
Block a user