v1-v2 Migration¶
The following migrations must be done when moving from v1 to v2 docs.
Chart¶
change | migration |
---|---|
chart_name removed |
Remove. It was redundant with metadata.name while at
the same time not guaranteeing uniqueness. Log messages now
reference metadata.name for improved grep-ability. |
test as a boolean removed |
test must now be an object. |
timeout removed |
Use wait.timeout instead. |
install removed |
Remove. Previously unused. |
upgrade.post removed |
Remove. |
upgrade.pre.update removed |
Remove. |
upgrade.pre.create removed |
Remove. |
upgrade.pre.delete[*].name
removed |
Remove. |
upgrade.pre.delete[*]
with type: job no longer
deletes cronjobs |
If you have an item in upgrade.pre.delete and
type: job and you also want to delete cronjobs, add
another item with type: cronjob and same labels. |
upgrade.no_hooks moved to
upgrade.options.no_hooks ,
and now optional |
Remove as desired, otherwise move to the new location. |
source.subpath
now optional, deafults to no
subpath. |
Remove as desired. |
Template naming for template files aligned with Helm CLI. | If a chart was relying on Armada’s previous misaligned
template naming, where it was omitting the templates/
prefix, such as via include argument, that argument
will need to be updated. This could also theoretically
affect whether the file is ignored, if the old or new
name is in .helmignore (unlikely). The fixed template
names alone will not cause a release to be updated, as the
diff logic accounts for this. |
wait improvements |
See Wait Improvements. |
Wait Improvements¶
The v2 wait API includes the following changes.
Breaking changes¶
wait.resources
now defaults to all supported resource types, currentlyjob
,daemonset
,statefulset
,deployment
, andpod
, withrequired
(a new option) set tofalse
. The previous default was the equivalent of pods withrequired=true
, and jobs withrequired=false
.type: pod
waits now exclude pods owned by other resources, such as controllers, as one should instead wait directly on the controller itself, which per 1. is now the default.- Waits are no longer retried due to resources having been modified. This was mildly useful before as an indicator of whether all targeted resources were accounted for, but with 1. and 2. above, we are now tracking top-level resources directly included in the release, rather than generated resources, such as controller-owned pods, so there is no need to wait for them to come into existence.
wait.native.enabled
is now disabled by default. With the above changes, this is no longer useful as a backup mechanism. Having both enabled leads to ambiguity in which wait would fail in each case. More importantly, this must be disabled in order to use themin_ready
functionality, otherwise tiller will wait for 100% anyway. So this prevents accidentally leaving it enabled in that case. Also when the tiller native wait times out, this caused the release to be marked FAILED by tiller, which caused it to be purged and re-installed (unless protected), even though the wait criteria may have eventually succeeded, which is already validated by armada on a retry.
New features¶
Per-resource-type overrides¶
wait.resources
can now be a dict, mapping individual resource types to
wait configurations (or lists thereof), such that one can keep the default
configuration for the other resource types, and also disable a given resource
type, by mapping it to false
.
The ability to provide the entire explicit list for wait.resources
remains in
place as well.
required¶
A required
field is also exposed for items/values in wait.resources
.
allow_async_updates¶
An allow_async_updates
field is added to daemonset and statefulset type
items/values in wait.resources
.
ChartGroup¶
change | migration |
---|---|
test_charts removed |
Use the Chart schema’s test.enabled instead. |
Manifest¶
No changes.