There are a number of configuration parameters for lovely. Each of them can be configured via various means.
This is a list of those means, in priority order. If a value is found in one of these locations it will be used and further options for finding it will be ignored.
- As a plugin parameter, when used as a sidecar in ArgoCD. These are in lower case, instead of upper case.
- As an environment variable prefixed with
ARGOCD_ENV_
. This is what will happen toenv:
variables entered into the application. - As an environment variable not prefixed with anything. If you are configuring using a kubernetes manifest, this is probably what you'd expect.
Environment variables, are conventionally ALL_CAPS, and for our purposes
Name | Environment variable | Description | Default |
---|---|---|---|
Plugins | LOVELY_PLUGINS | Set to a comma separated list of binaries to run as plugins. Read the documentation for more on plugins. Will not be used if Plugins YAML is set. |
|
Plugins YAML | LOVELY_PLUGINS_YAML | Set to some YAML describing the binaries to run as plugins. Read the documentation for more on plugins. Will override Plugins if set. |
|
PreProcessors | LOVELY_PREPROCESSORS | Set to a comma separated list of binaries to run as preprocessors. Read the documentation for more on plugins. Will not be used if Preproecessors YAML is set. |
|
PreProcessors YAML | LOVELY_PREPROCESSORS_YAML | Set to some YAML describing the binaries to run as preprocessors. Read the documentation for more on plugins. Will override PreProcessors if set. |
|
Detection Regular Expression | LOVELY_DETECTION_REGEX | Allow applications to be detected using a different regex so that a PREPROCESSOR that works on non-yaml files can run on this application. The default is \.ya?ml$ . (Note: currently helmfile.d/ will always trigger an application being detected, raise an issue if this needs configuring too). This is pointless to change unless you have a PREPROCESSOR defined. |
.ya?ml$ |
Kustomize Path | LOVELY_KUSTOMIZE_PATH | Path to the kustomize binary used for this application | kustomize |
Kustomize parameters | LOVELY_KUSTOMIZE_PARAMS | Space separated extra parameters to kustomize build as you might use on the command line. --enable-helm is already passed always. You're on your own here if you pass rubbish parameters. |
|
Helm Path | LOVELY_HELM_PATH | Path to the helm binary used for this application | helm |
Helm Merge | LOVELY_HELM_MERGE | Set to some yaml you'd like strategic merged into the values.yaml (or first Helm Values specified file) used by Helm. |
|
Helm Patch | LOVELY_HELM_PATCH | Set to some yaml you'd like json6902 patched into the values.yaml (or first Helm Values specified file) used by Helm. |
|
Helm Template Parameters | LOVELY_HELM_TEMPLATE_PARAMS | Space separated extra parameters to Helm template as you might use on the command line. You're on your own here if you pass rubbish parameters. |
|
Helm Repo Add Parameters | LOVELY_HELM_REPO_ADD_PARAMS | Space separated extra parameters to Helm repo add as you might use on the command line. You're on your own here if you pass rubbish parameters. --insecure-skip-tls-verify if your helm chart is on an insecure HTTPS server. |
|
Kustomize Merge | LOVELY_KUSTOMIZE_MERGE | Set to some yaml you'd like strategic merged into any kustomization.yaml found. | |
Kustomize Patch | LOVELY_KUSTOMIZE_PATCH | Set to some yaml or json you'd like json6902 patched into any kustomization.yaml found. | |
Helm Name | LOVELY_HELM_NAME | This can be used to set the Helm 'name' in the same way as releaseName works in Argo CD's standard Helm processing. (ARGOCD_APP_NAME used to be overridable in old versions of ArgoCD, but is no longer). Will default to ARGOCD_APP_NAME from the application. |
|
Helm Namespace | LOVELY_HELM_NAMESPACE | This can be used to set the Helm 'namespace' it will apply. Will default to ARGOCD_APP_NAMESPACE from the application. | |
Helm Values | LOVELY_HELM_VALUES | This is a space separated list values files you'd like to use when rendering the helm chart. Defaults to values.yaml if that exists, but its fine if it doesn't. If you override this the file must exist. MERGE and PATCH will be applied to the first file in this list. |
|
Helmfile Path | LOVELY_HELMFILE_PATH | Path to the helmfile binary used for this application | helmfile |
Helmfile Merge | LOVELY_HELMFILE_MERGE | Set to some yaml you'd like strategic merged into any helmfile.yaml used by helmfile. | |
Helmfile Patch | LOVELY_HELMFILE_PATCH | to some yaml or json you'd like json6902 patched into any helmfile.yaml used by Helmfile. | |
Helmfile Template Parameters | LOVELY_HELMFILE_TEMPLATE_PARAMS | Space separated extra parameters to Helmfile template as you might use on the command line. You're on your own here if you pass rubbish parameters. |
You can set PLUGIN_NAME
in the environment of the sidecar to override the default name of the plugin. This allows you to supply multiple pre-configured plugins (with different environment, but the same variation).