Jsonnet
Any file matching *.jsonnet in a directory app is treated as a Jsonnet file. ArgoCD evaluates the Jsonnet and is able to parse a generated object or array.
Build Environment
v1.4
Jsonnet apps have access to the standard build environment via substitution into TLAs and external variables. It is also possible to add a shared library (e.g. vendor folder) relative to the repository root.
E.g. via the CLI:
argocd app create APPNAME \--jsonnet-ext-var-str 'app=${ARGOCD_APP_NAME}' \--jsonnet-tla-str 'ns=${ARGOCD_APP_NAMESPACE}' \--jsonnet-libs 'vendor'
Or by declarative syntax:
directory:jsonnet:extVars:- name: appvalue: $ARGOCD_APP_NAMEtlas:- name: nsvalue: $ARGOCD_APP_NAMESPACElibs:- vendor
