OSS TanbouSign in with GitHub

Declaratively layer environment-specific changes while keeping original Kubernetes YAML intact

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
12,177
Primary language
Go
License
Apache-2.0
Repository last updated
Oct 3, 2026
On this page

Overview

Kustomize is a CLI that generates final Kubernetes manifests by layering declared transformations over resource YAML without modifying the originals. Teams can keep shared configuration in a base and represent development, staging, or production differences as overlays. It fits workflows that want to preserve ordinary YAML instead of adopting template syntax.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Apply labels, names, images, and patches without turning YAML into templates

A kustomization.yaml declares resources and transformations, and kustomize build emits the resulting YAML to standard output. The original Deployment and Service files remain usable while common labels, generated ConfigMaps, name prefixes, and patches are composed around them.

Sources: [1]

Organize shared configuration and environment differences as bases and overlays

Several overlays can reference one base and keep differences such as replica counts or resource limits separate. Teams can inspect generated output before passing it to kubectl, while kubectl apply -k provides an integrated path.

Sources: [1]

Best fit

Fits Git-reviewed environment variants that should preserve upstream manifests

It works well when upstream YAML should remain recognizable and organization-specific changes should live in a separate layer. It is an alternative to template expansion when Kubernetes-aware transformations match the configuration model.

Sources: [1]

Before adoption

Align standalone and kubectl-embedded versions and inspect output before applying it

kubectl embeds Kustomize, but that version follows the kubectl release and may not match standalone v5.8.2. Pin the executable used by CI and developers, then review and validate build output before applying it to a cluster. Configurations that use remote resources or plugins also need explicit source and execution-trust policies. The project uses Apache-2.0.

Sources: [1][2][3]

Official sources

  1. [1]Kustomize README at v5.8.2(2026-10-04)
  2. [2]Kustomize v5.8.2 release(2026-10-04)
  3. [3]Kustomize Apache-2.0 license at v5.8.2(2026-10-04)
Supplemental curator note

Kustomize is especially compelling when a team wants Git-reviewable differences without introducing another template language. Pin the executable used by CI and developers because standalone Kustomize and the version embedded in kubectl may differ.

Try it in 3 steps

  1. 1

    Download the v5.8.2 Linux binary

    This command targets Linux AMD64. For another OS or CPU, select the matching official release asset and confirm the reported version.

    curl -L https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.8.2/kustomize_v5.8.2_linux_amd64.tar.gz -o /tmp/kustomize.tar.gz tar -xzf /tmp/kustomize.tar.gz ./kustomize version
  2. 2

    Create a minimal Deployment and kustomization.yaml

    Register an ordinary Kubernetes YAML file as a resource.

    mkdir kustomize-demo && cd kustomize-demo printf 'apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: demo\nspec:\n replicas: 1\n selector:\n matchLabels: {app: demo}\n template:\n metadata:\n labels: {app: demo}\n spec:\n containers:\n - name: demo\n image: nginx:1.27\n' > deployment.yaml ../kustomize create --resources deployment.yaml
  3. 3

    Generate the transformed YAML

    Inspect the manifest with the added label on standard output before applying anything to a cluster.

    ../kustomize edit add label environment:demo ../kustomize build .
Check the official README

Growth

Growth trends · Last 30 days

12,177 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
37
Open PRs
59

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • k8s-sig-cli
  • hacktoberfest
Stars
12,177
Forks
2,431
Watchers
108
Open issues
138
Contributors
405
Owner type
Organization
Primary language
Go
License
Apache-2.0
Repository last updated
Oct 3, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?