Important
This is a work in progress to migrate KSail to a Golang. This is a huge endeavour, but being able to leverage the power of the Go ecosystem will be invaluable. The amount of packages available in Go to support this project is immense, so switching programming language has the potential to greatly enhance the functionality, performance and ease of use of KSail. I also hope switching will promote adoption and contributions.
KSail is a CLI tool with the ambition to become a full-fledged SDK for creating and maintaining Kubernetes clusters—locally or in the cloud. It provides a unified interface for managing clusters and workloads across different distributions (currently Kind and K3d, with more planned). By wrapping existing tools with a consistent command-line experience, KSail eliminates the complexity of juggling multiple CLIs and learning different syntaxes for each distribution.
KSail simplifies your Kubernetes workflow by providing:
- 🎯 A single command-line interface for Kind and K3d clusters
- 📝 Declarative configuration for reproducible environments
- 🔐 Integrated workload and secrets management
- ⚡ Fast cluster lifecycle operations (create, start, stop, delete)
Whether you're developing applications, testing infrastructure changes, or learning Kubernetes, KSail gets you from zero to a working cluster in seconds.
🌟 Declarative. Local. Effortless. Welcome to Kubernetes, simplified.
System Requirements:
- 🐧 Linux (amd64 and arm64)
- 🍎 MacOS (amd64 and arm64)
- 🐳 Docker (required for Kind and K3d clusters)
go install github.com/devantler-tech/ksail-go@latest
ksail --helpgit clone https://github.com/devantler-tech/ksail-go.git
go build -o ksail
./ksail --helpGet a Kubernetes cluster running in seconds:
# Initialize a new project with Kind
ksail cluster init --distribution Kind
# Create and start the cluster
ksail cluster create
# Deploy your workloads
ksail workload reconcile
# Clean up when done
ksail cluster delete- CONTRIBUTING.md - How to contribute to KSail
- .github/copilot-instructions.md - GitHub Copilot configuration and best practices
- API Documentation - Go package documentation
For detailed command reference, run ksail --help or ksail <command> --help.
Contributions welcome. Open an issue or PR to propose features.
For information on how to contribute, see CONTRIBUTING.md.