Skip to content
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

Closed
jessesuen opened this issue Feb 21, 2019 · 3 comments
Closed

Need to set HELM_PLUGIN for helm plugin support #1153

jessesuen opened this issue Feb 21, 2019 · 3 comments

Comments

@jessesuen
Copy link
Member

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 running helm template.

Another approach is to just set the HELM_PLUGIN environment variable for all fork/execs.

@jessesuen
Copy link
Member Author

because we create a temporary, throwaway HELM_HOME whenever we run helm template

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:
https://github.com/helm/helm/blob/master/docs/plugins.md#environment-variables

@alexec
Copy link
Contributor

alexec commented Mar 7, 2019

#1105

@jessesuen
Copy link
Member Author

Should be now possible to do this with fix in #1306. Requires a custom repo server which sets HELM_PLUGIN environment variable.

pnowy added a commit to pnowy/argo-cd that referenced this issue Jun 13, 2020
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants