From 685a8a5bc048dc430064c48362a11005ffc68b94 Mon Sep 17 00:00:00 2001 From: r-scheele Date: Fri, 14 Jul 2023 16:35:53 +0100 Subject: [PATCH 1/7] Add --force flag to minio delete command --- kubectl-minio/cmd/delete.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kubectl-minio/cmd/delete.go b/kubectl-minio/cmd/delete.go index da1340145c4..2a5c77fc3a5 100644 --- a/kubectl-minio/cmd/delete.go +++ b/kubectl-minio/cmd/delete.go @@ -45,6 +45,7 @@ type deleteCmd struct { errOut io.Writer output bool operatorOpts resources.OperatorOptions + force bool } func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { @@ -57,8 +58,10 @@ func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { Example: deleteExample, Args: cobra.MaximumNArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - if !helpers.Ask("Are you sure you want to delete ALL the MinIO Tenants and MinIO Operator, this is not a reversible operation") { - return fmt.Errorf(Bold("Aborting Operator deletion")) + if !o.force { + if !helpers.Ask("This will delete the MinIO Operator and ALL its data. Do you want to proceed") { + return fmt.Errorf(helpers.Bold("Aborting MinIO Operator deletion")) + } } err := o.run(out) if err != nil { @@ -71,6 +74,7 @@ func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { cmd = helpers.DisableHelp(cmd) f := cmd.Flags() f.StringVarP(&o.operatorOpts.Namespace, "namespace", "n", helpers.DefaultNamespace, "namespace scope for this request") + f.BoolVarP(&o.force, "force", "f", false, "force delete without confirmation") return cmd } From b0516611abf2cbcbdff2f63d928051862041716e Mon Sep 17 00:00:00 2001 From: r-scheele Date: Sat, 15 Jul 2023 06:26:15 +0100 Subject: [PATCH 2/7] [updates] --- kubectl-minio/cmd/delete.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubectl-minio/cmd/delete.go b/kubectl-minio/cmd/delete.go index 2a5c77fc3a5..4c2e6d1ef3f 100644 --- a/kubectl-minio/cmd/delete.go +++ b/kubectl-minio/cmd/delete.go @@ -60,7 +60,7 @@ func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { RunE: func(cmd *cobra.Command, args []string) error { if !o.force { if !helpers.Ask("This will delete the MinIO Operator and ALL its data. Do you want to proceed") { - return fmt.Errorf(helpers.Bold("Aborting MinIO Operator deletion")) + return fmt.Errorf("Aborting MinIO Operator deletion") } } err := o.run(out) From 5095e494b04d7e1d991d1abfdc1767e82591aed5 Mon Sep 17 00:00:00 2001 From: r-scheele Date: Sat, 15 Jul 2023 10:47:21 +0100 Subject: [PATCH 3/7] Added --dangerous flag to confirm deletion --- kubectl-minio/cmd/delete.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubectl-minio/cmd/delete.go b/kubectl-minio/cmd/delete.go index 4c2e6d1ef3f..3a10e95aac7 100644 --- a/kubectl-minio/cmd/delete.go +++ b/kubectl-minio/cmd/delete.go @@ -46,6 +46,7 @@ type deleteCmd struct { output bool operatorOpts resources.OperatorOptions force bool + dangerous bool } func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { @@ -63,6 +64,11 @@ func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { return fmt.Errorf("Aborting MinIO Operator deletion") } } + if !o.dangerous { + if !helpers.Ask("Please provide the dangerous flag to confirm deletion") { + return fmt.Errorf("Aborting MinIO Operator deletion") + } + } err := o.run(out) if err != nil { klog.Warning(err) @@ -75,6 +81,7 @@ func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { f := cmd.Flags() f.StringVarP(&o.operatorOpts.Namespace, "namespace", "n", helpers.DefaultNamespace, "namespace scope for this request") f.BoolVarP(&o.force, "force", "f", false, "force delete without confirmation") + f.BoolVarP(&o.dangerous, "dangerous", "d", false, "delete without confirmation") return cmd } From bf8871565960d1b2aca2d95daf309ffdb017a812 Mon Sep 17 00:00:00 2001 From: r-scheele Date: Sat, 15 Jul 2023 10:50:06 +0100 Subject: [PATCH 4/7] [updates] --- kubectl-minio/cmd/delete.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubectl-minio/cmd/delete.go b/kubectl-minio/cmd/delete.go index 3a10e95aac7..16e7b31b34a 100644 --- a/kubectl-minio/cmd/delete.go +++ b/kubectl-minio/cmd/delete.go @@ -60,7 +60,7 @@ func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { Args: cobra.MaximumNArgs(0), RunE: func(cmd *cobra.Command, args []string) error { if !o.force { - if !helpers.Ask("This will delete the MinIO Operator and ALL its data. Do you want to proceed") { + if !helpers.Ask("Are you sure you want to delete MinIO Operator and all it's tenants? This is not a reversible operation.") { return fmt.Errorf("Aborting MinIO Operator deletion") } } @@ -80,8 +80,8 @@ func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { cmd = helpers.DisableHelp(cmd) f := cmd.Flags() f.StringVarP(&o.operatorOpts.Namespace, "namespace", "n", helpers.DefaultNamespace, "namespace scope for this request") - f.BoolVarP(&o.force, "force", "f", false, "force delete without confirmation") - f.BoolVarP(&o.dangerous, "dangerous", "d", false, "delete without confirmation") + f.BoolVarP(&o.force, "force", "f", false, "allow without confirmation") + f.BoolVarP(&o.dangerous, "dangerous", "d", false, "confirm deletion") return cmd } From 7dbffb7cdb9ad86e57e0d3cdb0f949d508ba27f1 Mon Sep 17 00:00:00 2001 From: r-scheele Date: Wed, 19 Jul 2023 14:11:09 +0100 Subject: [PATCH 5/7] [updates] - replaced unused parameters with a blank identifier --- helm/operator/templates/minio.min.io_tenants.yaml | 1 + helm/operator/templates/sts.min.io_policybindings.yaml | 1 + kubectl-minio/cmd/kubectl-minio.go | 2 +- kubectl-minio/cmd/resources/tenant.go | 2 +- kubectl-minio/cmd/tenant-create.go | 2 +- kubectl-minio/cmd/tenant-list.go | 2 +- kubectl-minio/cmd/tenant.go | 2 +- 7 files changed, 7 insertions(+), 5 deletions(-) diff --git a/helm/operator/templates/minio.min.io_tenants.yaml b/helm/operator/templates/minio.min.io_tenants.yaml index b938e447873..985d53fcd96 100644 --- a/helm/operator/templates/minio.min.io_tenants.yaml +++ b/helm/operator/templates/minio.min.io_tenants.yaml @@ -1,3 +1,4 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: diff --git a/helm/operator/templates/sts.min.io_policybindings.yaml b/helm/operator/templates/sts.min.io_policybindings.yaml index 6ca09bbc184..b01576f5bda 100644 --- a/helm/operator/templates/sts.min.io_policybindings.yaml +++ b/helm/operator/templates/sts.min.io_policybindings.yaml @@ -1,3 +1,4 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: diff --git a/kubectl-minio/cmd/kubectl-minio.go b/kubectl-minio/cmd/kubectl-minio.go index 5849f66d3dc..a513cb56347 100644 --- a/kubectl-minio/cmd/kubectl-minio.go +++ b/kubectl-minio/cmd/kubectl-minio.go @@ -49,7 +49,7 @@ func init() { } // New creates a new root command for kubectl-minio -func New(streams genericclioptions.IOStreams) *cobra.Command { +func New(_ genericclioptions.IOStreams) *cobra.Command { rootCmd = helpers.DisableHelp(rootCmd) cobra.EnableCommandSorting = false rootCmd.AddCommand(newInitCmd(rootCmd.OutOrStdout(), rootCmd.ErrOrStderr())) diff --git a/kubectl-minio/cmd/resources/tenant.go b/kubectl-minio/cmd/resources/tenant.go index fb70dea6762..a045d7ece71 100644 --- a/kubectl-minio/cmd/resources/tenant.go +++ b/kubectl-minio/cmd/resources/tenant.go @@ -148,7 +148,7 @@ func NewTenant(opts *TenantOptions, userSecret *v1.Secret) (*miniov2.Tenant, err return t, t.Validate() } -func getAutoCertConfig(opts *TenantOptions) *miniov2.CertificateConfig { +func getAutoCertConfig(_ *TenantOptions) *miniov2.CertificateConfig { return &miniov2.CertificateConfig{ CommonName: "", OrganizationName: []string{}, diff --git a/kubectl-minio/cmd/tenant-create.go b/kubectl-minio/cmd/tenant-create.go index 10bf032d34b..37b13b0c1f1 100644 --- a/kubectl-minio/cmd/tenant-create.go +++ b/kubectl-minio/cmd/tenant-create.go @@ -121,7 +121,7 @@ func (c *createCmd) validate(args []string) error { } // run initializes local config and installs MinIO Operator to Kubernetes cluster. -func (c *createCmd) run(args []string) error { +func (c *createCmd) run(_ []string) error { // Create operator and kube client path, _ := rootCmd.Flags().GetString(kubeconfig) operatorClient, err := helpers.GetKubeOperatorClient(path) diff --git a/kubectl-minio/cmd/tenant-list.go b/kubectl-minio/cmd/tenant-list.go index 0dfa4a0fee2..08a67da62e1 100644 --- a/kubectl-minio/cmd/tenant-list.go +++ b/kubectl-minio/cmd/tenant-list.go @@ -69,7 +69,7 @@ func (d *listCmd) validate(args []string) error { } // run initializes local config and installs MinIO Operator to Kubernetes cluster. -func (d *listCmd) run(args []string) error { +func (d *listCmd) run(_ []string) error { // Create operator client path, _ := rootCmd.Flags().GetString(kubeconfig) oclient, err := helpers.GetKubeOperatorClient(path) diff --git a/kubectl-minio/cmd/tenant.go b/kubectl-minio/cmd/tenant.go index 01c74c69bba..a85d569cdf4 100644 --- a/kubectl-minio/cmd/tenant.go +++ b/kubectl-minio/cmd/tenant.go @@ -48,7 +48,7 @@ func getTenantNamespace(client *operatorv1.Clientset, tenantName string) (string return "", fmt.Errorf("tenant: %s not found on any namespace", tenantName) } -func newTenantCmd(out io.Writer, errOut io.Writer) *cobra.Command { +func newTenantCmd(_ io.Writer, _ io.Writer) *cobra.Command { cmd := &cobra.Command{ Use: "tenant", Short: "Manage MinIO tenant(s)", From 31c2bbc32a37236b73771c091706b46da9412eb1 Mon Sep 17 00:00:00 2001 From: pjuarezd Date: Tue, 25 Jul 2023 13:00:33 -0600 Subject: [PATCH 6/7] rephrase Signed-off-by: pjuarezd --- kubectl-minio/cmd/delete.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubectl-minio/cmd/delete.go b/kubectl-minio/cmd/delete.go index 16e7b31b34a..3d133740b8f 100644 --- a/kubectl-minio/cmd/delete.go +++ b/kubectl-minio/cmd/delete.go @@ -60,7 +60,7 @@ func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { Args: cobra.MaximumNArgs(0), RunE: func(cmd *cobra.Command, args []string) error { if !o.force { - if !helpers.Ask("Are you sure you want to delete MinIO Operator and all it's tenants? This is not a reversible operation.") { + if !helpers.Ask("This is irreversible, Are you sure you want to delete MinIO Operator and all it's tenants") { return fmt.Errorf("Aborting MinIO Operator deletion") } } From 89e0669ab6b12cf49693e6da84601e0889b362c3 Mon Sep 17 00:00:00 2001 From: pjuarezd Date: Tue, 25 Jul 2023 13:02:28 -0600 Subject: [PATCH 7/7] typo Signed-off-by: pjuarezd --- kubectl-minio/cmd/delete.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubectl-minio/cmd/delete.go b/kubectl-minio/cmd/delete.go index 3d133740b8f..9725388b8b8 100644 --- a/kubectl-minio/cmd/delete.go +++ b/kubectl-minio/cmd/delete.go @@ -60,7 +60,7 @@ func newDeleteCmd(out io.Writer, errOut io.Writer) *cobra.Command { Args: cobra.MaximumNArgs(0), RunE: func(cmd *cobra.Command, args []string) error { if !o.force { - if !helpers.Ask("This is irreversible, Are you sure you want to delete MinIO Operator and all it's tenants") { + if !helpers.Ask("This is irreversible, are you sure you want to delete MinIO Operator and all it's tenants") { return fmt.Errorf("Aborting MinIO Operator deletion") } }