Repository navigation
v0.1.1
One bug fix, and the one behaviour change it implies. idem now weighs the
values you supply yourself against the ones it could not resolve, so the
"values idem cannot reach" caveat can be cleared by answering it.
Fixed
-
The missing-values report ignored
-fand--set([#4]). A release whose
values come from an ApplicationSet generator idem cannot expand is reported as
could not be built: ... needs <keys>, or, once it renders, as
rendered without values idem cannot reach ... missing <keys>. Supplying
those values on the command line let the chart build but left the report
unchanged, so the caveat survived being answered - and a--strictgate over
a generator-driven estate could never reach green however correct its charts
were. What a-ffile or a--setdefines is now subtracted from what idem
reports as unreachable, in text,-o json(unconstructedand
summary.unconstructed), markdown and GitHub output alike.Three things decide what may be cleared, and each of them is a rule against
clearing too much - a caveat wrongly dropped is idem silently reporting on a
release nobody deploys, which is the failure it exists to catch:- Only your own flags count. A values file the repository names is not an
assertion about what the generator supplies; a flag typed at the terminal
is. This mirrors the precedence-fand--setalready had over the
delivery config when rendering. - Only values keys can be cleared. The unresolved list also names sources
idem cannot reach - Flux'svaluesFrom Secret/x, a multi-source
$values (…, from another source), avalueFilespath a generator
templates - and no-for--setanswers one of those, so they are never
credited. -fand--setare weighed in helm's order, not OR-ed together. Helm
coalesces a later map into an earlier one but lets a later scalar replace
the subtree, and applies every--setafter every-f. So
-f base.yaml --set webRoute=falseleaveswebRoute.enablednowhere to
live, andbase.yamlis no longer credited for it.
Helm's
--setsyntax is read the way helm reads it, because a key read
differently would credit you for a value helm was never given:a\.bis the
single keya.brather than a path intoa,a\,bis one value carrying a
comma rather than two assignments,a.b.cdefinesaanda.bwhile
a.bdoes not definea.b.c, andservers[0]is notservers[1]. - Only your own flags count. A values file the repository names is not an
Changed
- A chart that still fails once you have supplied everything is now exit 2.
It is reported ascould not be renderedrather thancould not be built,
where before it was reported as unbuilt and exited 0. This is the point of the
fix rather than a side effect of it:could not be builtexists so idem never
blames a chart for a value idem itself withheld, and once you have supplied
them all, a remaining failure belongs to the chart or to the values. A run
with no-for--setis unaffected - the full 16-chart estate this was
measured against is byte-identical to 0.1.0.
Documentation
docs/limits.mdnow says how to clear the caveat, next to the limit it
qualifies.- This file, and
.github/workflows/release.ymlnow builds release notes from
it: the section matching the tag is extracted and passed to goreleaser with
--release-notes.