@@ -49,6 +49,7 @@ func main() {
4949 var statusOnly bool
5050 var diagnosePod bool
5151 var diagnoseWorkload bool
52+ var diagnoseHelmRelease bool
5253 var observeDuration time.Duration
5354 var pollInterval time.Duration
5455 var streamMode string
@@ -92,6 +93,7 @@ func main() {
9293 flag .BoolVar (& statusOnly , "status" , false , "Alias for --status-only" )
9394 flag .BoolVar (& diagnosePod , "diagnose-pod" , false , "Diagnose a Pod by --namespace and --name" )
9495 flag .BoolVar (& diagnoseWorkload , "diagnose-workload" , false , "Diagnose a Workload by --namespace and --name" )
96+ flag .BoolVar (& diagnoseHelmRelease , "diagnose-helm-release" , false , "Diagnose a Helm release by --namespace and --name" )
9597 flag .DurationVar (& observeDuration , "observe-duration" , 0 , "Keep observing the cluster for this duration before printing status or query output" )
9698 flag .DurationVar (& pollInterval , "poll-interval" , 10 * time .Second , "Polling interval used with --observe-duration" )
9799 flag .StringVar (& streamMode , "stream-mode" , string (collectk8s .StreamModePolling ), "Continuous update stream mode for --observe-duration: informer or polling" )
@@ -140,8 +142,14 @@ func main() {
140142 if terminalKindsDisable {
141143 expandTerminalNodes = true
142144 }
143- if diagnosePod && diagnoseWorkload {
144- err := fmt .Errorf ("only one of --diagnose-pod or --diagnose-workload may be set" )
145+ diagnoseModeCount := 0
146+ for _ , enabled := range []bool {diagnosePod , diagnoseWorkload , diagnoseHelmRelease } {
147+ if enabled {
148+ diagnoseModeCount ++
149+ }
150+ }
151+ if diagnoseModeCount > 1 {
152+ err := fmt .Errorf ("only one of --diagnose-pod, --diagnose-workload, or --diagnose-helm-release may be set" )
145153 if machineErrors {
146154 writeMachineError (os .Stderr , err )
147155 } else {
@@ -155,6 +163,9 @@ func main() {
155163 if diagnoseWorkload {
156164 entryKind = "Workload"
157165 }
166+ if diagnoseHelmRelease {
167+ entryKind = "HelmRelease"
168+ }
158169
159170 if collapseNode {
160171 if err := collapseGraphFile (graphFile , entityID ); err != nil {
0 commit comments