Files
awesome-awesomeness/terminal/kustomize
2024-04-23 15:17:38 +02:00

112 lines
16 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
 Awesome Kustomize !Awesome (https://raw.githubusercontent.com/sindresorhus/awesome/main/media/badge.svg) (https://github.com/sindresorhus/awesome) !PRs Welcome (https://img.shields.io/badge/PRs-welcome-brightgreen.svg) 
 (https://github.com/aabouzaid/awesome-kustomize/compare)
 

 
▐ A curated and collaborative list of awesome Kustomize resources.
Kustomize (https://kustomize.io) 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 (https://github.com/aabouzaid/awesome-kustomize/pulls) or create an issue to start a discussion.
Contents
- Overview (#overview)
- Plugins (#plugins)
 - Generators (#generators)
 - Transformers (#transformers)
 - Validators (#validators)
- Guides (#guides)
 - Novice (#novice)
 - Intermediate (#intermediate)
 - Advanced (#advanced)
 - Tips \& Tricks (#tips--tricks)
- Misc (#misc)
- Related lists (#related-lists)
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 (https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md).
Generators
- Secretize (https://github.com/bbl/secretize) - Generating Kubernetes Secret from various sources. It's like a swiss army knife, but for Kubernetes secrets (Exec).
- SopsSecretGenerator (https://github.com/goabout/kustomize-sopssecretgenerator/) - Generating Secrets from sops-encrypted files (Exec, Exec KRM).
- KSops (https://github.com/viaduct-ai/kustomize-sops) - Generating Secrets from sops-encrypted files (Exec).
- PolicyGenerator (https://github.com/open-cluster-management-io/policy-generator-plugin) - Generating Open Cluster Management policies (Exec).
- KRMFfnBuiltin (https://github.com/kaweezle/krmfnbuiltin) - Running builtin generators transformers (Exec).
- Merger (https://github.com/aabouzaid/kustomize-plugin-merger) - Generating manifests seamlessly by extending Kustomize merge strategies using schemaless StrategicMerge (Containerized KRM, Exec KRM).
Transformers
- HelmValuesTransformer (https://github.com/openinfradev/kustomize-helm-transformer) - Transforming values in HelmRelease CustomResource. It helps to manage a lot of HelmRelease's value in single transformer file (Exec).
- TemplateTransformer (https://github.com/joshdk/template-transformer) - Providing a set of KRM Functions to run builtin transformers in place (Containerized KRM, Exec KRM).
Validators
- KubeconformValidator (https://github.com/aabouzaid/kustomize-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 (https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) - The official Kubernetes documentation task for Kustomize.
- 📰 Configure Kubernetes with Kustomize (https://cloud.google.com/anthos-config-management/docs/concepts/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 (https://www.youtube.com/watch?v=1fCAwFGX38U) - 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 (https://www.youtube.com/watch?v=ahMIBxufNR0) - 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 (https://redhat-scholars.github.io/argocd-tutorial/argocd-tutorial/03-kustomize.html) - 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 (https://tech.aabouzaid.com/2020/09/3-ways-to-customize-off-the-shelf-helm-charts-with-kustomize-kubernetes.html) - A guide covers 3 different ways to use Kustomize and 
Helm together.
Advanced
- 📰 Advanced Kustomize features (https://www.innoq.com/en/blog/advanced-kustomize-features/) - A guide covers more than 5 advanced Kustomize capabilities.
- 📰 Set OpenAPI patch strategy for Kubernetes Custom Resources (https://tech.aabouzaid.com/2022/11/set-openapi-patch-strategy-for-kubernetes-custom-resources-kustomize.html) - A guide shows how to provide schema to control the patch 
strategy of the CRDs.
- 📺 Customizing Kustomize with Client-Side Custom Resources (https://www.youtube.com/watch?v=YlFUv4F5PYc) - A talk covers extending Kustomize via plugins to address common yet idiosyncratic application needs.
- 📺 Own your YAML: extending Kustomize via Plugins (https://www.youtube.com/watch?v=Xoh_OpLoVtI) - A talk shows how to create custom resources using Kustomize external plugins.
- 📰 Kustomize Enhancement with KRM Functions (https://www.innoq.com/en/blog/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 (https://tech.aabouzaid.com/2021/05/delete-a-manifest-from-kustomize-base.html) - A handy way to delete named manifest using Kustomize patch.
- 📰 Apply Kustomize builtin transformers on a single resource (https://tech.aabouzaid.com/2022/04/apply-kustomize-builtin-transformers-on-a-single-resource.html) - A way to use internal transformers on specific resources.
- 📰 Pass extra data to the Containerized KRM function (https://tech.aabouzaid.com/2022/12/pass-extra-data-to-the-containerized-krm-function.html) - Different cases of share data with Containerized KRM function.
Misc
- Asdf-kustomize (https://github.com/Banno/asdf-kustomize) - Kustomize plugin for asdf version manager.
Related lists
- Awesome Kubernetes (https://github.com/ramitsurana/awesome-kubernetes) - A curated list of awesome Kubernetes resources.
- Awesome Kubectl plugins (https://github.com/ishantanu/awesome-kubectl-plugins) - A curated list of awesome Kubectl plugins.
- Awesome Helm (https://github.com/cdwv/awesome-helm) - A curated list of awesome Helm charts and resources.