Patch kind
and metadata/name
A patch can now change the kind
or name
of a resource, e.g. a
Deployment
can become a StatefulSet
.
These fields used to be a primary key for patch targetting, and thus
couldn't be patched.
See examples in the feature's patch regression coverage.
labels without selectors
A new labels field allows adding labels without also automatically
injecting corresponding selectors:
labels:
pairs
fruit: peach
car: model-T
includeSelectors: true # <-- false by default
This can be used instead of the commonLabels
field, which always
adds selectors.
Updated helm
generator
kustomize can use the helm
command line to inflate charts as a
resource generator, allowing a helm chart to define the base of any
number of variants.
The kustomization.yaml
file has two new fields:
helmGlobals *HelmGlobals // helm config that's not chart specific.
helmCharts []HelmChart // Chart instances.
These fields are documented in helmchartargs.go.
These fields replace the deprecated but still functional
helmChartInflationGenerator
field, which combined the above data and
offered two fields that must now be ignored: helmBin
and
extraArgs
. These latter fields are risky for people who already
engage in the risky behavior of using remote configuration that they
do not control.
To use a helm chart as a kustomization base, define values for these
fields and run:
kustomize build --enable-helm {target}
The --enable-helm
flag is new, and required to allow kustomize
to
run a helm
subprocess.
Look here for a complete helm example.
Requires user to have helm v3 installed.
Use a custom OpenAPI schema file
Kustomize uses OpenAPI data to get information about merge keys.
To use a custom schema, specify what file to use via the openapi
field.
See the custom OpenAPI example for details.
Misc issues fixed/touched
- #1009 support for common labels that don't get set on selectors
- #3394 allow patch removal of
emptyDir{}
- #3620 disappearing ports
- #2825 CRD custom schema parsing
Commits
See the api v0.8.6 release notes for more commits in this version.
e3ce616 Pin to api v0.8.6
6a708bc Pin to cmd/config v0.9.10
88911bb Pin to kyaml@v0.10.17
240cda0 Add flag --enable-helm
aa5b481 upgrade to helm 3.5.4 and imdario/mergo v0.3.12
c632880 Pin to kyaml v0.10.16
3255c73 Loader FS and empty env fix
ccb95ab add conflict check
e77c284 Do no require exec/go plugin home to use fn plugins
5ed2067 Add labels field to kustomization
123a5d6 Remove the wrappy layer.
f96ac2d allow general name and kind changes via an options field in patches
ddfb4ff Unpin all modules (back to dev mode).
e2e4950 Take provenance version into account for build test