Files
John Win ba44faf0a7 Updating plugins/kustomized-helm example (#156)
Updating the `helm template` command with a more complete example.
This command more resembles the helm command that is executed by the built-in helm tooling.

Signed-off-by: John Win <jpaulodit@hotmail.com>
2025-01-17 17:17:48 -05:00

36 lines
1.3 KiB
Markdown

# Helm + Kustomize
Sometimes Helm chart don't have all required parameters and additional customization is required. This example application demonstrates how to combine Helm and Kustomize and use it
as a config management plugin in Argo CD.
Use following steps to try the application:
* configure `kustomized-helm` tool in `argocd-cm` ConfigMap:
```yaml
configManagementPlugins: |
- name: kustomized-helm
init:
command: ["/bin/sh", "-c"]
args: ["helm dependency build"]
generate:
command: ["/bin/sh", "-c"]
args: ["helm template . --name-template $ARGOCD_APP_NAME --namespace $ARGOCD_APP_NAMESPACE --kube-version $KUBE_VERSION > all.yaml && kustomize build"]
```
Notes:
- `$ARGOCD_APP_NAME`, `$ARGOCD_APP_NAMESPACE` and `$KUBE_VERSION` are environment variables that exists in the context of the plugin.
- setting `--kube-version` is important as helm template can mock up data which may not match the actual cluster version.
* create application using `kustomized-helm` as a config management plugin name:
```
argocd app create kustomized-helm \
--config-management-plugin kustomized-helm \
--repo https://github.com/argoproj/argocd-example-apps \
--path plugins/kustomized-helm \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
```