Kustomize is a tool that lets you create customized Kubernetes deployments without modifying underlying YAML configuration files. Since the files remain unchanged, others are able to reuse the same files to build their own customizations. Your customizations are stored in a file called
kustomization.yaml. If configuration changes are needed, the underlying YAML files and
kustomization.yaml can be updated independently of each other.
To learn more about Kustomize and how to define a
kustomization.yaml file, see the following links:
In the context of Spinnaker, Kustomize lets you generate a custom manifest, which can be deployed in a downstream
Deploy (Manifest) stage. This manifest is tailored to your requirements and built on existing configurations.
Note that Spinnaker uses the latest non-kubectl version of Kustomize.
Enabling Kustomize in 1.16 (Beta)
Kustomize can be enabled by a feature flag in 1.16.
For Halyard, add the following line to
window.spinnakerSettings.feature.kustomizeEnabled = true;
Kustomize works by running
kustomize build against a
kustomization.yaml file located in a Git repository. This file defines all of the other files needed by Kustomize to render a fully hydrated manifest.
Kustomize as the Render Engine and define the artifact for your
With the Kustomize file defined, configure a Produced Artifact to use the result in a stage downstream. Add an artifact:
Define the artifact:
You can now run your pipeline and get a Kustomize rendered manifest!
Other Templating Engines
In addition to Kustomize, Spinnaker also supports Helm as a templating engine. For more information, see Deploy Helm Charts.