diff --git a/cmd/integration/activate.go b/cmd/integration/activate.go index 23f35df4d4..aa799fc2a2 100644 --- a/cmd/integration/activate.go +++ b/cmd/integration/activate.go @@ -15,8 +15,10 @@ package integration import ( "github.com/fatih/color" + "github.com/k8sgpt-ai/k8sgpt/pkg/analyzer" "github.com/k8sgpt-ai/k8sgpt/pkg/integration" "github.com/spf13/cobra" + "github.com/spf13/viper" ) // activateCmd represents the activate command @@ -27,10 +29,17 @@ var activateCmd = &cobra.Command{ Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { integrationName := args[0] + coreFilters, _, _ := analyzer.ListFilters() + + // Update filters + activeFilters := viper.GetStringSlice("active_filters") + if len(activeFilters) == 0 { + activeFilters = coreFilters + } integration := integration.NewIntegration() // Check if the integation exists - err := integration.Activate(integrationName, namespace) + err := integration.Activate(integrationName, namespace, activeFilters) if err != nil { color.Red("Error: %v", err) return diff --git a/pkg/integration/integration.go b/pkg/integration/integration.go index 2d7d1dc0d6..0e8b6c492b 100644 --- a/pkg/integration/integration.go +++ b/pkg/integration/integration.go @@ -66,14 +66,11 @@ func (*Integration) Get(name string) (IIntegration, error) { return integrations[name], nil } -func (*Integration) Activate(name string, namespace string) error { +func (*Integration) Activate(name string, namespace string, activeFilters []string) error { if _, ok := integrations[name]; !ok { return errors.New("integration not found") } - // Update filters - activeFilters := viper.GetStringSlice("active_filters") - mergedFilters := append(activeFilters, integrations[name].GetAnalyzerName()) uniqueFilters, dupplicatedFilters := util.RemoveDuplicates(mergedFilters)