-
Notifications
You must be signed in to change notification settings - Fork 614
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement flux debug helmrelease
command
#5106
Conversation
b16bbaa
to
73f1cf5
Compare
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
73f1cf5
to
120ec04
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! If you prefer please feel free to mark the comment about exact args as resolved since we need to address this for all commands.
if debugHelmReleaseArgs.showStatus == false && debugHelmReleaseArgs.showValues == false { | ||
return fmt.Errorf("either --show-status or --show-values must be set") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Requiring a flag for default debug report seems unnecessary. If the intent is to debug, the default output, without any flags, could be the status result.
Instead of --show-status
, a flag to hide the status when showing other values may have been better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was discussed in the dev meeting. It was agreed that the default output should be a summary of all the helpful details about the release. We can define what should constitute a debug summary result and show that without any flag in the future.
if err != nil { | ||
return err | ||
} | ||
rootCmd.Print(string(status)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at the multi-document YAML output, when both status and values are printed, there's no indication of which part is status and value. Since it's all YAML documents, we can add a comment at the top that tells what the document is. For example:
# Release Status
conditions:
- lastTransitionTime: "2024-12-13T14:58:20Z"
message: Helm upgrade succeeded for release default/podinfo.v2 with chart podinfo@6.5.1
observedGeneration: 4
reason: UpgradeSucceeded
status: "True"
type: Ready
- lastTransitionTime: "2024-12-13T14:58:20Z"
message: Helm upgrade succeeded for release default/podinfo.v2 with chart podinfo@6.5.1
...
lastAttemptedRevision: 6.5.1
observedGeneration: 4
storageNamespace: default
---
# Release Values
replicaCount: 2
logLevel: debug
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After implementing flux debug kustomization
I realise that mixing the outputs is not the best idea. Here by chance both flags output YAML, but this is not the case in the flux debug kustomization
. I'm for not allowing both flags to be set, similar to how it's done now in #5117
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay. Left a comment about the standalone debug status output in that PR which also applies to HR.
This PR implements the
flux debug hr
command as specified in #5101Closes: #5101
Fixes: fluxcd/helm-controller#497