Search code examples
kubernetes-helmhashicorp-vaultargocdvault

What is the best way to install helm charts having vault secrets on local k8s cluster?


I use helm charts for k8s deployment. And chart has secrets from Hashicorp's Vault and I use ArgoCD to automate deployments and argocd-vault-plugin take care injecting vault secrets from vault server before installing helm charts on GKE k8s cluster.

All good until now.

I would like to understand how this works for charts deployments (helm install) to local k8s cluster. What is the recommended way of charts (with vault secrets) installing on local k8s cluster


Solution

  • You can install / use argocd-vault-plugin from CLI

    ie.

    # generate helm template, pipe to vault plugin to inject secrets, pipe to kubectl to apply
    # ensure you are targeting the correct cluster
    helm template my-app ./path -f env/values.yaml | argocd-vault-plugin generate - | kubectl apply -f - 
    

    Dependencies: You will need to have access to vault locally, and set some environment vars. Source: https://argocd-vault-plugin.readthedocs.io/en/stable/config/#environment-variables