diff --git a/README.md b/README.md index 742ce994d1..02ed7adb5c 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ k8sgpt filters add [filter(s)] ### Examples : - Simple filter : `k8sgpt filters add Service` -- Multiple filters : `k8sgpt filters add Ingress Pod` +- Multiple filters : `k8sgpt filters add Ingress,Pod` _Add default filters_ @@ -120,7 +120,7 @@ k8sgpt filters remove [filter(s)] ### Examples : - Simple filter : `k8sgpt filters remove Service` -- Multiple filters : `k8sgpt filters remove Ingress Pod` +- Multiple filters : `k8sgpt filters remove Ingress,Pod` _Run a scan with the default analyzers_ diff --git a/cmd/filters/add.go b/cmd/filters/add.go index e6b67cc943..5a280aa80d 100644 --- a/cmd/filters/add.go +++ b/cmd/filters/add.go @@ -15,12 +15,13 @@ var addCmd = &cobra.Command{ Use: "add [filter(s)]", Short: "Adds one or more new filters.", Long: `The add command adds one or more new filters to the default set of filters used by the analyze.`, - Args: cobra.MinimumNArgs(1), + Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { + filters := strings.Split(args[0], ",") // Verify filter exist invalidFilters := []string{} - for _, f := range args { + for _, f := range filters { foundFilter := false for _, filter := range analyzer.ListFilters() { if filter == f { @@ -44,7 +45,7 @@ var addCmd = &cobra.Command{ defaultFilters = []string{} } - mergedFilters := append(defaultFilters, args...) + mergedFilters := append(defaultFilters, filters...) uniqueFilters, dupplicatedFilters := util.RemoveDuplicates(mergedFilters) @@ -60,6 +61,6 @@ var addCmd = &cobra.Command{ color.Red("Error writing config file: %s", err.Error()) os.Exit(1) } - color.Green("Filter %s added", strings.Join(args, ", ")) + color.Green("Filter %s added", strings.Join(filters, ", ")) }, } diff --git a/cmd/filters/remove.go b/cmd/filters/remove.go index 02168e2304..3461a0d069 100644 --- a/cmd/filters/remove.go +++ b/cmd/filters/remove.go @@ -14,8 +14,9 @@ var removeCmd = &cobra.Command{ Use: "remove [filter(s)]", Short: "Remove one or more filters.", Long: `The add command remove one or more filters to the default set of filters used by the analyze.`, - Args: cobra.MinimumNArgs(1), + Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { + filters := strings.Split(args[0], ",") // Get defined default_filters defaultFilters := viper.GetStringSlice("default_filters") @@ -24,7 +25,7 @@ var removeCmd = &cobra.Command{ } // verify dupplicate filters example: k8sgpt filters remove Pod Pod - uniqueFilters, dupplicatedFilters := util.RemoveDuplicates(args) + uniqueFilters, dupplicatedFilters := util.RemoveDuplicates(filters) if len(dupplicatedFilters) != 0 { color.Red("Duplicate filters found: %s", strings.Join(dupplicatedFilters, ", ")) os.Exit(1) @@ -57,6 +58,6 @@ var removeCmd = &cobra.Command{ color.Red("Error writing config file: %s", err.Error()) os.Exit(1) } - color.Green("Filter(s) %s removed", strings.Join(args, ", ")) + color.Green("Filter(s) %s removed", strings.Join(filters, ", ")) }, }