-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Need to set HELM_PLUGIN for helm plugin support #1153
Comments
In case anyone is wondering why we do this, this is because Argo CD helm repository list dynamic, and the full list is supplied on-request for each GetManifests call. This allows the repo server to run without K8s service account & token. So if the repo-server is compromised (which will be more possible with custom templating), at least it cannot talk to the K8s API server. Here is helm docs on it's env vars: |
Should be now possible to do this with fix in #1306. Requires a custom repo server which sets HELM_PLUGIN environment variable. |
argoproj#2558 Based on discussions from: argoproj#2558 argoproj#2789 argoproj#1105 argoproj#1153 I've spent a lot of time to put everything together to get integration with GCS working. I think it's worth to have documentation for it.
Even if a user customizes their repo server through a custom Dockerfile, they will not benefit from installing helm plugins, because we create a temporary, throwaway HELM_HOME whenever we run
helm template
. In order to support plugins, we should set HELM_PLUGIN to/home/argocd/.helm/plugins
so that HELM_HOME can be a temp directory, and HELM_PLUGIN will be the customized location.One approach might be to just change the Dockerfile to have the HELM_PLUGIN set to
home/argocd/.helm/plugins
and we inherit these environment variables when runninghelm template
.Another approach is to just set the HELM_PLUGIN environment variable for all fork/execs.
The text was updated successfully, but these errors were encountered: