github kubernetes-sigs/kustomize kustomize/v4.1.0

latest releases: kustomize/v5.4.1, api/v0.17.1, kustomize/v5.4.0...
3 years ago

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

Don't miss a new kustomize release

NewReleases is sending notifications on new releases.