Skip to content

devantler-tech/ksail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

License Go Reference codecov CI - Go

πŸ›₯️🐳 KSail

ksail-cli-dark

KSail is a CLI tool that bundles common Kubernetes tooling into a single binary. It provides one consistent interface to create clusters, deploy workloads, and operate cloud-native stacks across different distributions.

Why?

Setting up and operating Kubernetes clusters is a skill of its own, often requiring juggling multiple CLI tools, writing bespoke scripts, and dealing with inconsistent developer workflows, all determined by the specific project. This complexity and inconsistency slow down development, make Kubernetes hard for newcomers, and make it difficult to maintain reproducible environments and ways of working. KSail removes the tooling overhead so you can focus on your workloads.

Key Features

πŸ“¦ One Binary β€” Embeds cluster provisioning, GitOps engines, and deployment tooling. No tool sprawl.

☸️ Simple Clusters β€” Spin up Kind, K3d, or Talos clusters with one command. Same workflow across supported distributions and providers.

πŸ“„ Everything as Code β€” Cluster settings, distribution configs, and workloads all live in version-controlled files.

πŸ”„ GitOps Native β€” Opt into Flux or ArgoCD. KSail handles the bootstrap and gives you push and reconcile commands.

βš™οΈ Customizable Stack β€” Select your CNI, CSI, enable cert-manager, add mirror registries to match your setup.

πŸ” SOPS Built In β€” Encrypt, decrypt, and edit secrets with integrated cipher commands.

Getting Started

Prerequisites

The binary works on all major operating systems and modern CPU archectures:

OS Arch
🐧 Linux amd64 and arm64
ο£Ώ MacOS arm64
⊞ Windows (untested) amd64 and arm64

The supported distributions depend on different local and cloud providers:

Distribution Provider
Kind Docker
K3d Docker
Talos Docker, Hetzner (🚧 next)
EKS Docker (🚧 next)

Installation

Homebrew

brew install --cask devantler-tech/tap/ksail

Go install

go install github.com/devantler-tech/ksail/v5@latest

Usage

Get up and running with a simple kind cluster in four steps:

# 1. Initialize a new project with your preferred stack
ksail cluster init

# 2. Create and start the cluster
ksail cluster create

# Add your manifests to the k8s/kustomization.yaml file

# 3. Deploy your workloads
ksail workload apply -k ./k8s

# 4. Connect to the cluster with k9s
ksail cluster connect

Documentation

For users

For contributors

Related Projects

KSail is a powerful tool that can be used in many different ways. Here are some projects that use KSail in their setup:

Project Description Type
devantler-tech/platform My personal homelab Platform

If you use KSail in your project, feel free to open a PR to add it to the list, so others can see how you use KSail.

Presentations

Star History

Star History Chart

About

CLI tool for creating, maintaining and operating Kubernetes clusters.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors 11