Note
Ahoy, matey! Gather 'round and lend an ear, for a grand overhaul be on the horizon! All them embedded binaries be set to sail into their own .NET project, makin' it smoother fer me to keep 'em shipshape. But beware, this mighty endeavor means KSail won't be seein' any bug fixes or new features 'til the end of october, as this here voyage will take a few moons to chart right.
Keep yer spyglass fixed on the progress at:
- devantler/dotnet-flux-cli
- devantler/dotnet-k3d-cli
- devantler/dotnet-k9s-cli
- devantler/dotnet-kind-cli
- devantler/dotnet-kubeconform-cli
- devantler/dotnet-kubernetes-generator
- devantler/dotnet-kubernetes-provisioner
- devantler/dotnet-container-engine-provisioner
- devantler/dotnet-kustomize-cli
- devantler/dotnet-sops-cli
- devantler/dotnet-age-cli
- devantler/dotnet-cli-runner
- devantler/dotnet-key-manager
- devantler/dotnet-keys
- devantler/dotnet-template-engine
Show/hide folder structure
.
βββ .github
βΒ Β βββ workflows
βββ .vscode
βββ KSail.Models
βΒ Β βββ Commands
βΒ Β βΒ Β βββ Check
βΒ Β βΒ Β βββ Debug
βΒ Β βΒ Β βββ Down
βΒ Β βΒ Β βββ Gen
βΒ Β βΒ Β βββ Init
βΒ Β βΒ Β βββ Lint
βΒ Β βΒ Β βββ List
βΒ Β βΒ Β βββ Sops
βΒ Β βΒ Β βββ Start
βΒ Β βΒ Β βββ Stop
βΒ Β βΒ Β βββ Up
βΒ Β βΒ Β βββ Update
βΒ Β βββ Registry
βββ docs
βΒ Β βββ images
βββ scripts
βββ src
βΒ Β βββ KSail
βΒ Β βββ Arguments
βΒ Β βββ CLIWrappers
βΒ Β βββ Commands
βΒ Β βΒ Β βββ Check
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βββ Debug
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βββ Down
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βΒ Β βββ Options
βΒ Β βΒ Β βββ Init
βΒ Β βΒ Β βΒ Β βββ Generators
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βββ Lint
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βββ List
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βββ Root
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βββ SOPS
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βΒ Β βββ Options
βΒ Β βΒ Β βββ Start
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βββ Stop
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βββ Up
βΒ Β βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βΒ Β βββ Options
βΒ Β βΒ Β βββ Update
βΒ Β βΒ Β βββ Handlers
βΒ Β βΒ Β βββ Options
βΒ Β βββ Enums
βΒ Β βββ Extensions
βΒ Β βββ Models
βΒ Β βΒ Β βββ K3d
βΒ Β βΒ Β βββ KSail
βΒ Β βΒ Β βββ Kubernetes
βΒ Β βΒ Β βΒ Β βββ FluxKustomization
βΒ Β βΒ Β βββ SOPS
βΒ Β βββ Options
βΒ Β βββ Provisioners
βΒ Β βΒ Β βββ ContainerEngine
βΒ Β βΒ Β βββ ContainerOrchestrator
βΒ Β βΒ Β βββ GitOps
βΒ Β βΒ Β βββ KubernetesDistribution
βΒ Β βΒ Β βββ SecretManager
βΒ Β βββ assets
βΒ Β βββ binaries
βΒ Β βββ templates
βΒ Β βββ k3d
βΒ Β βββ kubernetes
βΒ Β βββ sops
βββ tests
βββ KSail.Tests.Integration
βββ Commands
βΒ Β βββ Check
βΒ Β βββ Debug
βΒ Β βββ Down
βΒ Β βββ Lint
βΒ Β βββ List
βΒ Β βββ Root
βΒ Β βββ SOPS
βΒ Β βββ Up
βΒ Β βββ Update
βββ TestUtils
89 directories
Note
On MacOS (darwin), ye need to "Allow the default Docker socket to be used (requires password)" in Docker Desktop settings.
KSail supports MacOS and Linux on the followin' platforms:
- darwin-amd64 ο£Ώ
- darwin-arm64 ο£Ώ
- linux-amd64 π§
- linux-arm64 π§
If ye be usin' Windows, ye can use WSL2 to run KSail.
With Homebrew:
brew tap devantler/formulas
brew install ksail
Manually:
- Download the latest release from the releases page.
- Make the binary executable:
chmod +x ksail
. - Move the binary to a directory in yer
$PATH
:mv ksail /usr/local/bin/ksail
.
Gettin' started with KSail be as easy as plunderin' treasure. Here be a few commands to get ye goin':
ksail init <name-of-cluster>
- To initialize yer cluster.
ksail up <name-of-cluster>
- To provision yer cluster.
From there, ye can make some changes to yer manifest files, and when ye be ready to apply 'em, ye can run:
ksail update <name-of-cluster>
- To update yer cluster.
At some point, ye might encounter an issue and wonder what be goin' on. In that case, ye can run:
ksail check
- To check the status of yer cluster reconciliations.
And for more advanced debuggin', ye can run:
ksail debug
- To debug yer cluster with the K9s tool.
Finally, when ye be done workin' with yer cluster, ye can run:
ksail stop <name-of-cluster>
- To stop yer cluster, so ye can continue workin' on it later.
Or if ye really want to get rid of it for now, ye can run:
ksail down <name-of-cluster>
- To dismantle yer cluster and remove its resources.
Note
The documentation be a work in progress. When it be more mature, it will be made available on <ksail.devantler.com>. For now, it includes the information that was originally available in this README with a few additions.
- devantler/dotnet-kubernetes-generator - Generators to conjure Kubernetes resources with
ksail init
andksail gen
. - devantler/dotnet-kubernetes-provisioner - Provisioners to provision K3d, Flux, secrets, and more.
- devantler/dotnet-container-engine-provisioner - Provisioners to provision resources in container engines.
- devantler/dotnet-key-manager - A key manager to guard yer local Age keys.
- devantler/dotnet-template-engine - A template engine to support code generation of non-serializable content.
- devantler/dotnet-keys - A library with key models, like the Age key model.
- devantler/dotnet-cli-runner - An implementation atop CLI Wrap to support runnin' different binaries from C# code.
- devantler/dotnet-age-cli - A library that embeds and provides an API for the Age CLI.
- devantler/dotnet-flux-cli - A library that embeds and provides an API for the Flux CLI.
- devantler/dotnet-k3d-cli - A library that embeds and provides an API for the K3d CLI.
- devantler/dotnet-k9s-cli - A library that embeds and provides an API for the K9s CLI.
- devantler/dotnet-kind-cli - A library that embeds and provides an API for the Kind CLI.
- devantler/dotnet-kubeconform-cli - A library that embeds and provides an API for the Kubeconform CLI.
- devantler/dotnet-kustomize-cli - A library that embeds and provides an API for the Kustomize CLI.
- devantler/dotnet-sops-cli - A library that embeds and provides an API for the SOPS CLI.
- devantler/homelab - My personal homelab setup, including an example of how I use KSail to manage my Homelab cluster.