From 3cf679260ee4480a061d2eb97e191ae28d8d2547 Mon Sep 17 00:00:00 2001 From: Matias Manavella Date: Wed, 30 Sep 2020 18:06:52 -0300 Subject: [PATCH] ImagePullSecret and TextAnalyzer with regex fixed --- pkg/analyze/image_pull_secret.go | 27 ++++++++++++++------- pkg/analyze/text_analyze.go | 40 +++++++++++++++++--------------- 2 files changed, 40 insertions(+), 27 deletions(-) diff --git a/pkg/analyze/image_pull_secret.go b/pkg/analyze/image_pull_secret.go index 4fbc5546..3bc30dd7 100644 --- a/pkg/analyze/image_pull_secret.go +++ b/pkg/analyze/image_pull_secret.go @@ -13,13 +13,13 @@ func analyzeImagePullSecret(analyzer *troubleshootv1beta2.ImagePullSecret, getCh return nil, errors.Wrap(err, "failed to get file contents for image pull secrets") } - var failOutcome *troubleshootv1beta2.Outcome - var passOutcome *troubleshootv1beta2.Outcome + var failOutcome *troubleshootv1beta2.SingleOutcome + var passOutcome *troubleshootv1beta2.SingleOutcome for _, outcome := range analyzer.Outcomes { if outcome.Fail != nil { - failOutcome = outcome + failOutcome = outcome.Fail } else if outcome.Pass != nil { - passOutcome = outcome + passOutcome = outcome.Pass } } title := analyzer.CheckName @@ -32,8 +32,10 @@ func analyzeImagePullSecret(analyzer *troubleshootv1beta2.ImagePullSecret, getCh IconKey: "kubernetes_image_pull_secret", IconURI: "https://troubleshoot.sh/images/analyzer-icons/image-pull-secret.svg?w=16&h=14", IsFail: true, - Message: failOutcome.Fail.Message, - URI: failOutcome.Fail.URI, + } + if failOutcome != nil { + result.Message = failOutcome.Message + result.URI = failOutcome.URI } for _, v := range imagePullSecrets { @@ -46,11 +48,20 @@ func analyzeImagePullSecret(analyzer *troubleshootv1beta2.ImagePullSecret, getCh if registry == analyzer.RegistryName { result.IsPass = true result.IsFail = false - result.Message = passOutcome.Pass.Message - result.URI = passOutcome.Pass.URI + if passOutcome != nil { + result.Message = passOutcome.Message + result.URI = passOutcome.URI + } } } } + if result.Message == "" { + if result.IsPass { + result.Message = "Credentials to pull from: " + analyzer.RegistryName + " found" + } else { + result.Message = "Credentials to pull from " + analyzer.RegistryName + " not found" + } + } return &result, nil } diff --git a/pkg/analyze/text_analyze.go b/pkg/analyze/text_analyze.go index 705f5315..203dd246 100644 --- a/pkg/analyze/text_analyze.go +++ b/pkg/analyze/text_analyze.go @@ -82,33 +82,35 @@ func analyzeRegexPattern(pattern string, collected []byte, outcomes []*troublesh return nil, errors.Wrapf(err, "failed to compile regex: %s", pattern) } - var failOutcome *troubleshootv1beta2.Outcome - var passOutcome *troubleshootv1beta2.Outcome + var failOutcome *troubleshootv1beta2.SingleOutcome + var passOutcome *troubleshootv1beta2.SingleOutcome for _, outcome := range outcomes { if outcome.Fail != nil { - failOutcome = outcome + failOutcome = outcome.Fail } else if outcome.Pass != nil { - passOutcome = outcome + passOutcome = outcome.Pass } } - - if re.MatchString(string(collected)) { - return &AnalyzeResult{ - Title: checkName, - IsPass: true, - Message: passOutcome.Pass.Message, - URI: passOutcome.Pass.URI, - }, nil - } - - return &AnalyzeResult{ + result := AnalyzeResult{ Title: checkName, IconKey: "kubernetes_text_analyze", IconURI: "https://troubleshoot.sh/images/analyzer-icons/text-analyze.svg", - IsFail: true, - Message: failOutcome.Fail.Message, - URI: failOutcome.Fail.URI, - }, nil + } + + if re.MatchString(string(collected)) { + result.IsPass = true + if passOutcome != nil { + result.Message = passOutcome.Message + result.URI = passOutcome.URI + } + return &result, nil + } + result.IsFail = true + if failOutcome != nil { + result.Message = failOutcome.Message + result.URI = failOutcome.URI + } + return &result, nil } func analyzeRegexGroups(pattern string, collected []byte, outcomes []*troubleshootv1beta2.Outcome, checkName string) (*AnalyzeResult, error) {