argoproj / argo-cd

Declarative Continuous Deployment for Kubernetes
https://argo-cd.readthedocs.io
Apache License 2.0
17.9k stars 5.46k forks source link

Execute custom scripts before applying helm #2340

Open kanapuli opened 5 years ago

kanapuli commented 5 years ago

Is your feature request related to a problem? Please describe. I use argocd to sync my configuration files to kubernetes config maps. All my configuration files are encrypted using mozilla's SOPS in the git repository. And I use a helm chart to take these config files and apply as config maps. It would be nicer if argocd has a feature to execute a shell which decrypts or perform any other custom operations and then apply the Kubernetes manifests or helm files.

Describe the solution you'd like An options to specify an intermediate step to run a shell file before syncing the helm manifests

Have you thought about contributing yourself? Yes I would be happy to contribute but just wanted some initial help from the community about the technical details of the project

If you want to get involved, check out the contributing guide, then reach out to us on Slack so we can see how to get you started.

alexec commented 5 years ago

@alexmt @jessesuen not the first time we've been asked about pre and post processing ofr manifests.

This can be worked-around using: https://argoproj.github.io/argo-cd/operator-manual/custom_tools/

kanapuli commented 5 years ago

@alexec Thanks for giving the workaround. But even if I mount custom tools with argocd container, How do i invoke those custom tools during the deployment. Will there be an option in UI to interact with the custom tools that are mounted? A hint from you will be a great help

alexec commented 5 years ago

hi - @kanapuli these tools are few configuration options compared to the built-in tools. You'll need to figure that out I'm afraid.

stale[bot] commented 4 years ago

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

yann-soubeyrand commented 4 years ago

@kanapuli here are the instructions on how we managed to integrate Sops with Helm and Argo CD: https://github.com/camptocamp/docker-argocd. We still have to build custom Docker images though, but it worked well as of now.

kanapuli commented 4 years ago

@yann-soubeyrand Hey thanks man.