Skip to content

devantler/ksail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

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 the year, as this here voyage will take a few moons to chart right.

Keep yer spyglass fixed on the progress at:

ksail

πŸ›₯️🐳 KSail

License Test codecov

image

Show/hide folder structure
.
β”œβ”€β”€ .github
β”‚Β Β  └── workflows
β”œβ”€β”€ .vscode
β”œβ”€β”€ 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

74 directories

Getting Started

Prerequisites

Note

On MacOS (darwin), ye need to "Allow the default Docker socket to be used (requires password)" in Docker Desktop settings.

Show me how, ye scallywag!

Enable Docker Socket in Docker Desktop

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.

Installation

With Homebrew:

brew tap devantler/formulas
brew install ksail

Manually:

  1. Download the latest release from the releases page.
  2. Make the binary executable: chmod +x ksail.
  3. Move the binary to a directory in yer $PATH: mv ksail /usr/local/bin/ksail.

Usage

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.

Documentation

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.

Sub-projects

Related Projects

  • devantler/homelab - My personal homelab setup, including an example of how I use KSail to manage my Homelab cluster.

Star History

Star History Chart