Awesome
<!-- omit in toc -->Awesome Kustomize
<p align="center"> <a href="https://kustomize.io"> <img src="img/awesome-kustomize.svg" width="90%"> </a> </p>A curated and collaborative list of awesome Kustomize resources.
Kustomize introduces a template-free way to customize Kubernetes manifests. It's extensible and uses a purely declarative approach to configuration customization, which will help you efficiently manage your Infrastructure as a code (IaC).
Contributions are welcome, add links through pull requests or create an issue to start a discussion.
Push it forward and add the project badge in your repo to support the community! โญ
Markdown:
[![Awesome Kustomize](https://devopshive.net/badges/awesome-kustomize.svg)](https://github.com/DevOpsHiveHQ/awesome-kustomize)
Preview:
<!-- omit in toc -->Contents
Overview
Kustomize works as a standalone binary; also, it's built into kubectl
(since v1.14). It can be used with off-the-shelf applications like Helm charts. Also, it has a deep integration with different GitOps tools like ArgoCD, Flux, and many others.
Plugins
Kustomize has 3 types of plugins generator
, transformer
, and validator
.
Note
If you are a plugin developer, it's highly recommended to support the new plugins standard KRM function.
Generators
- Secretize - Generating Kubernetes Secret from various sources. It's like a swiss army knife, but for Kubernetes secrets (Exec).
- SopsSecretGenerator - Generating Secrets from sops-encrypted files (Exec, Exec KRM).
- KSops - Generating Secrets from sops-encrypted files (Exec).
- PolicyGenerator - Generating Open Cluster Management policies (Exec).
- KRMFfnBuiltin - Running builtin generators transformers (Exec).
- Merger - Generating manifests seamlessly by extending Kustomize merge strategies using schemaless StrategicMerge (Containerized KRM, Exec KRM).
Transformers
- HelmValuesTransformer - Transforming values in HelmRelease CustomResource. It helps to manage a lot of HelmRelease's value in single transformer file (Exec).
- TemplateTransformer - Providing a set of KRM Functions to run builtin transformers in place (Containerized KRM, Exec KRM).
Validators
- KubeconformValidator - Validating Kubernetes manifests using embedded Kubeconform (Containerized KRM, Exec KRM).
Guides
Kustomize guides based on their level or type like ๐ฐ Article, ๐บ Video, ๐งช Lab.
Novice
- ๐ฐ Declarative Management of Kubernetes Objects Using Kustomize - The official Kubernetes documentation task for Kustomize.
- ๐ฐ Configure Kubernetes with Kustomize - A guide helps to get started with Kustomize, understand its intended use cases, and find resources for using it with other Google Cloud tools.
- ๐บ Organizing the YAML mess with Kustomize - A talk shows how Kustomize could help to manage Kubernetes YAML files with a growing number of services and environments.
- ๐บ Kustomize: Deploy Your App with Template Free YAML - A talk introduces Kustomize, a declarative application management system, that allows deployments to be described as template free YAML.
Intermediate
- ๐งช ArgoCD GitOps Tutorial - Working with Kustomize - A hands-on lab covers using Kustomize in GitOps and it goes through the Kustomize syntax and deploying a Kustomized application.
- ๐ฐ 3 ways to customize off-the-shelf Helm charts with Kustomize - A guide covers 3 different ways to use Kustomize and Helm together.
Advanced
- ๐ฐ Advanced Kustomize features - A guide covers more than 5 advanced Kustomize capabilities.
- ๐ฐ Set OpenAPI patch strategy for Kubernetes Custom Resources - A guide shows how to provide schema to control the patch strategy of the CRDs.
- ๐บ Customizing Kustomize with Client-Side Custom Resources - A talk covers extending Kustomize via plugins to address common yet idiosyncratic application needs.
- ๐บ Own your YAML: extending Kustomize via Plugins - A talk shows how to create custom resources using Kustomize external plugins.
- ๐ฐ Kustomize Enhancement with KRM Functions - A detailed guide covers KRM concept and how to use it in Kustomize plugins.
Tips & Tricks
- ๐ฐ Delete a manifest from a Kustomize base - A handy way to delete named manifest using Kustomize patch.
- ๐ฐ Apply Kustomize builtin transformers on a single resource - A way to use internal transformers on specific resources.
- ๐ฐ Pass extra data to the Containerized KRM function - Different cases of share data with Containerized KRM function.
Misc
- Asdf-kustomize - Kustomize plugin for asdf version manager.
Related lists
- Awesome Kubernetes - A curated list of awesome Kubernetes resources.
- Awesome Kubectl plugins - A curated list of awesome Kubectl plugins.
- Awesome Helm - A curated list of awesome Helm charts and resources.