From 1d352298e166327695669019362123d16daee96d Mon Sep 17 00:00:00 2001 From: Jeremy Cohn Date: Thu, 5 Mar 2020 17:31:32 -0800 Subject: [PATCH] Added spec support to `analyze` function in support-bundle --- cmd/troubleshoot/cli/analyze.go | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/cmd/troubleshoot/cli/analyze.go b/cmd/troubleshoot/cli/analyze.go index 96d1e43c..6b7e5488 100644 --- a/cmd/troubleshoot/cli/analyze.go +++ b/cmd/troubleshoot/cli/analyze.go @@ -3,6 +3,7 @@ package cli import ( "encoding/json" "fmt" + "io/ioutil" analyzer "github.com/replicatedhq/troubleshoot/pkg/analyze" "github.com/replicatedhq/troubleshoot/pkg/convert" @@ -18,7 +19,8 @@ func Analyze() *cobra.Command { Short: "analyze a support bundle", Long: `...`, PreRun: func(cmd *cobra.Command, args []string) { - viper.BindPFlag("url", cmd.Flags().Lookup("url")) + viper.BindPFlag("bundle", cmd.Flags().Lookup("bundle")) + viper.BindPFlag("spec", cmd.Flags().Lookup("spec")) viper.BindPFlag("output", cmd.Flags().Lookup("output")) viper.BindPFlag("quiet", cmd.Flags().Lookup("quiet")) }, @@ -27,7 +29,17 @@ func Analyze() *cobra.Command { logger.SetQuiet(v.GetBool("quiet")) - result, err := analyzer.DownloadAndAnalyze(v.GetString("url"), "") + filename := v.GetString("spec") + var analyzersSpec string + if len(filename) > 0 { + out, err := ioutil.ReadFile(filename) + if err != nil { + return err + } + analyzersSpec = string(out) + } + + result, err := analyzer.DownloadAndAnalyze(v.GetString("bundle"), analyzersSpec) if err != nil { return err } @@ -59,8 +71,10 @@ func Analyze() *cobra.Command { }, } - cmd.Flags().String("url", "", "URL of the support bundle to analyze") - cmd.MarkFlagRequired("url") + cmd.Flags().String("bundle", "", "Filename of the support bundle to analyze") + cmd.MarkFlagRequired("bundle") + + cmd.Flags().String("spec", "", "Filename of the analyze yaml spec") cmd.Flags().String("output", "", "output format: json, yaml") cmd.Flags().String("compatibility", "", "output compatibility mode: support-bundle") cmd.Flags().MarkHidden("compatibility")