ArgoCD plugin for variable substitution in ApplicationSet
argocd-appset-substitute-plugin has been developed for and tested with Kubernetes 1.28.
When Custom resource is created, controller takes secret keys and values and creates new secret as outputSecretName
Deployment to run interpolator’s controller,$ kubectl top pods
NAME CPU(cores) MEMORY(bytes)
argocd-substitute-plugin-59db98964b-ljpvt 1m 6Mi
helm repo add argocd-appset-substitute-plugin https://grzegorzgniadek.github.io/argocd-appset-substitute-plugin
helm upgrade --install \
--namespace argocd \
argocd-substitute-plugin argocd-substitute-plugin \
--repo https://grzegorzgniadek.github.io/argocd-appset-substitute-plugin
You can use Helm to generate plain YAML files and then deploy these YAML files with kubectl apply or whatever you want:
helm template --namespace argocd \
argocd-substitute-plugin argocd-substitute-plugin \
--repo https://grzegorzgniadek.github.io/argocd-appset-substitute-plugin \
> /tmp/plugin.yaml
kubectl apply -f /tmp/plugin.yaml --namespace argocd
You can use ArgoCD as installation Installation Manifest
You can see the full list of parameters (along with their meaning and default values) in the chart’s values.yaml file.
helm upgrade --install \
--namespace argocd \
argocd-substitute-plugin argocd-substitute-plugin \
--repo https://grzegorzgniadek.github.io/argocd-appset-substitute-plugin \
--set port=8000
kubectl apply -f https://raw.githubusercontent.com/grzegorzgniadek/argocd-appset-substitute-plugin/refs/heads/master/examples/configmap.yaml
kubectl apply -f https://raw.githubusercontent.com/grzegorzgniadek/argocd-appset-substitute-plugin/refs/heads/master/examples/secret.yaml
kubectl apply -f https://raw.githubusercontent.com/grzegorzgniadek/argocd-appset-substitute-plugin/refs/heads/master/examples/applicationset.yaml
kubectl delete -f https://raw.githubusercontent.com/grzegorzgniadek/argocd-appset-substitute-plugin/refs/heads/master/examples/applicationset.yaml
kubectl delete -f https://raw.githubusercontent.com/grzegorzgniadek/argocd-appset-substitute-plugin/refs/heads/master/examples/configmap.yaml
kubectl delete -f https://raw.githubusercontent.com/grzegorzgniadek/argocd-appset-substitute-plugin/refs/heads/master/examples/secret.yaml