ksail

Overview

Besides the core concepts of Docker, Kubernetes, Flux, Kustomize, and SOPS, KSail introduces new workflows and concepts to the Kubernetes ecosystem. This document provides an overview of KSail, its key features, and how it works.

What is KSail?

KSail Architecture

KSail is a CLI tool designed to simplify the management of GitOps-enabled Kubernetes clusters. It enables you to easily create, manage, and dismantle GitOps-enabled clusters in Docker, such that you can develop and test your applications in a fully local Kubernetes environment, before deploying them to other environments.

Key Features

Why was it made?

KSail was created to fill a gap in the tooling landscape for managing GitOps-enabled Kubernetes clusters in Docker. There are currently two intended use cases for KSail:

How does it work?

KSail leverages several key technologies to provide its functionality:

The initialization process

[!NOTE] Will be updated soon.

Generates a small cluster configuration with my recommended structure and a few services to get started. The generated files are as follows:

[!NOTE] KSail will target the k8s/clusters/<cluster-name>/flux-system flux kustomizations. So you can follow their paths to get an idea on how the files are related.

[!NOTE] Flux kustomizations target files and folders within the flux-system OCI container that KSail creates. This container contains all files within k8s/**, so be aware that the paths are not from your projects root directory.

The provisioning process

[!NOTE] Will be updated soon.