-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Unable to use helm CLI against helm releases that have been deployed by ArgoCD #1672
Comments
Hi - We use install Helm to install the applications but delete it afterward. You won't be able to use the |
@alexec Thanks for the clarification. This is expected behaviour. |
This is a critical issue BTW ! Seems like Argo uses Helm as generator of YAML manifests only thru Similar GH issues: |
+1 |
Helm CLI will not work with Helm releases that have been deployed by ArgoCD. This is expected behaviour. argoproj/argo-cd#1672
@abdennour, that may have been the case when this issue was filed, but I think it was resolved by #3243 |
@jsoref This is still an issue. Tested it a few weeks ago with ArgoCD v2.0.0. |
@Xtigyro: But, @abdennour 's comment was resolved ~2 months after it was made. |
@jsoref I need to ask for clarification. A design choice is the Helm releases deployed with ArgoCD not to be listed thru, e.g., |
Correct, per #1672 (comment) and accepted by the reporter in #1672 (comment) |
Okay - thanks for the reply. |
Hey @jsoref 👋🏻 Out of curiosity, what is the reason behind this design choice? Can't we achieve the same using I think that will give more flexibility to those who, like me, have other tools built on top of Helm working on the same releases deployed with ArgoCD. This design choice forces us to use Helm only for "templating" while other use cases exist. To me, it seems like a breaking feature. I'm curious to hear what others think. |
I'm not the person who made the choice. But the idea is that ArgoCD owns the resource, so if you want information about it, you should be using the ArgoCD system. That could be looking at the git configuration to see what you asked for, or the ArgoCD ui/cli to see how synced the git state is with the kubernetes deployment. If you want to upgrade a resource, edit the git configuration for the resource and wait for ArgoCD to apply your changes. If the resource was visible to helm, there's a risk of someone trying to upgrade the resource manually using helm. That would then be overwritten by ArgoCD, which is tasked with owning the resource. If you don't want to use ArgoCD to own a resource, then don't give it a resource in the first place. |
I see, but to be honest, I don't see any bad with that. Wouldn't that be the same behavior if someone change a resource directly with kubectl? I understand how ArgoCD owns the resource but, at the same time, it is not the only system using/managing it. There are cases where an operator in the cluster can touch a resource deployed with ArgoCD. The expected behavior would be that ArgoCD reverts any change if configured in auto-sync. I don't get why precluding that from happening with Helm. That should be a user's choice. In my opinion, that limits how we can use Helm in combination with ArgoCD with not much benefit. |
Frankly, this is a closed ticket that you're hijacking. Use a discussion or Slack or something. Kubectl can make a single change, and ArgoCD will stomp on it too. The amount of damage you're likely to experience from that is much lower than using helm and being surprised by the huge jitter you'd get. |
Yeah @tyriis, it's sad to see that. This would open the project to a wide range of new use cases |
@alexec Can this be added in the official docs? I tried to find this information there but didn't find it, and I think this is an important piece of information that users should be aware of. |
it is in the official docs. It's one of the FAQ: |
So you mean you guys delete all the release history and then don't even keep it yourself in your own internal data for us to query? So i can't get a history or my releases via the tool you're using helm because umm you delete it ?Then we are left without release history? I need to qeuery the timestamps between my historical helm releases based on version and build telemetry. How can we use argo and get that info beside crappy post sync hooks which will only get my future data? |
@smeredith84 Argo CD uses Helm to render manifests, but not for any of its release management capabilities. Argo CD has its own release history feature which is completely separate from Helm's. Argo CD also produces events and integrates with notifications engine for improved change tracking. Please refrain from referring to Argo CD features as crappy, even the crappy ones. 😉 People are generally willing to help to solve problems (for free), but they're less inclined to do so when the conversation involves biting language. |
i overreacted apologies lol. It seems we can collect this info via |
Describe the bug
I'm unable to list or interact with my helm releases with helm CLI when they have been deployed using ArgoCD.
To Reproduce
Create helm app in ArgoCD :
Confirm app has been created :
Try to list or inspect the release :
Confirm the deployment is actually there with kubectl :
Expected behavior
I should be able to use the helm CLI to list or interact with my helm releases that have been deployed in my cluster by ArgoCD.
Version
The text was updated successfully, but these errors were encountered: