When Kubectl is too simple and available deployment solutions too complex.
- Simple, flexible, and lightweight. A single CLI.
- Deploy any kind of Kubernetes resource (core resources, CRDs...).
- Reliable Garbage collection.
- Adapts to any type of Kubernetes manifest structure (a single YAML, few manifests, big manifest repository...).
- Use to deploy as individual releases/services (Helm style) or group of manifest repository (Flux style).
- Gitops ready (apply only changed resources, diff, dry-run...).
- Multiple resource filtering options (file paths, resource namespace, types...).
- Reports of what applies and deletes (useful to combine with other apps, e.g: wait, checks, notifications…).
Check concepts docs and start deploying any kind of Kubernetes resources:
# Dry run.
$ kahoy apply --dry-run --kube-provider-id "ci" -n "./manifests"
# Diff changes.
$ kahoy apply --diff --kube-provider-id "ci" -n "./manifests"
# Deploy.
$ kahoy apply --kube-provider-id "ci" -n "./manifests"
Get more information on the docs website.
Check CONTRIBUTING.md file.