.stackat.yml / option
values
On this page
Extra Helm values files per chart: the ones your pipeline applies with helm -f, which nothing in the repository points to.
What it does#
Stackat reads the values each installation uses, so it can tell whether a release note touches a key you set, or a feature you switched off. It finds most of them by itself:
- what an installation points to: helmfile
values:andset:; Argo CDvalues,valuesObject,valueFilesandparameters; FluxvaluesandvaluesFromConfigMaps (Secrets are never read); KustomizevaluesInline,valuesFileandadditionalValuesFiles; Terraformhelm_releasevalues = [file(…)]; - override files whose name or folder carries the chart's name, in the folder of the file installing it or below (never in example, docs, test or template folders).
values adds files that follow neither rule: map a chart's name to the files or globs that hold its values.
- A file whose path names an environment (
prod,production,staging,stage,dev,qa,uat,test…) only applies to installations whose file names the same environment, or none. - A chart can have several files; what each sets is added to the installation's values.
- From values files Stackat keeps which keys are set and the true/false switches, never other values, so no secret or address is read into it.
Type and values#
| Type | Mapping of chart name to a list of paths or globs (a single string works too) |
| Paths | From the repository's top folder. * matches any characters, including /; ? one character. |
| Default | None (only the files found automatically) |
The listed files must be inside what scan reads. The chart name is the chart's own name (cert-manager, kube-prometheus-stack), not the release name, and case does not matter.
Organisation and repository#
Repository file only. Values files belong to one repository, so values in the organisation's file is ignored.
Problems you may see#
values is read while the repository is scanned, not when the settings are checked, so the dashboard's Settings tab shows no problems for it. When an entry does not apply, the scan notes one of these, which the Stackat team sees and can tell you about:
.stackat.yml: values for 'traefik', but no installation of that chart was found
.stackat.yml: 'ops/overrides/traefik.yaml' matches no values fileA values: that is not a mapping is ignored.
Examples#
Override files applied by the deploy pipeline#
values:
cert-manager: [ops/overrides/production/cert-manager.yaml]
traefik: [ops/overrides/production/traefik.yaml]Every file in a folder, with a glob#
values:
cloudflare-tunnel: [ops/cloudflare-tunnel/*.yaml]Shared defaults, then one file per environment#
values-prod.yaml applies only to production installations and values-staging.yaml only to staging; the shared file applies to both.
values:
kube-prometheus-stack:
- deploy/monitoring/values-common.yaml
- deploy/monitoring/values-prod.yaml
- deploy/monitoring/values-staging.yaml