Resource templating¶
This tools permit to group some kubernetes resources in templates and create instances with different values
List of tools¶
| Name | How it defines | Link | 
|---|---|---|
| Helm | Go templates with values, charts, and helpers | https://helm.sh/docs/ | 
| Kustomize | Overlays, patches (strategic merge, JSON), and components | https://kustomize.io/ | 
| Crossplane | Composite Resource Definitions (XRDs) and Compositions | https://docs.crossplane.io/ | 
| Kro | ResourceGraphDefinition CRD with CEL expressions | https://kro.run/docs | 
| Ytt | YAML templating with overlays | https://carvel.dev/ytt/docs/latest/ | 
| KCL lang | Constraint-based configuration language | https://www.kcl-lang.io/ | 
| Timoni | CUE language with modules and bundles | https://timoni.sh/quickstart/ | 
| Kubevela | OAM Application CRD with components and traits | https://kubevela.io/docs/ | 
| KPT | Declarative configuration with functions | https://kpt.dev/ | 
| Grafana Tanka | Jsonnet with ksonnet libraries | https://tanka.dev/ | 
| Operator SDK | Custom Resource Definitions with Go/Ansible/Helm operators | https://sdk.operatorframework.io/ | 
| CDK8s | Object-oriented APIs in TypeScript, Python, Java, Go | https://cdk8s.io/ | 
Recommended¶
- Helm: For using 3rd party applications or provide internal applications to external users
- Kustomize: for internal applications
- Ytt: for internal applications
- Crossplane: for platform engineering