Skip to main content

Getting Started

Welcome to sloth-kubernetes - the multi-cloud Kubernetes deployment platform that fits in a single binary.


What is sloth-kubernetes?

sloth-kubernetes is a CLI tool that deploys production-ready Kubernetes clusters across multiple cloud providers with:

  • Zero external dependencies - Single binary includes Pulumi, Salt, and kubectl
  • Multi-cloud support - AWS, DigitalOcean, Linode, Azure (GCP coming soon)
  • Lisp-based configuration - Dynamic, readable configs with 70+ built-in functions
  • Enterprise features - State management, audit logging, config versioning, manifest tracking
  • Automatic networking - WireGuard VPN mesh across all providers

Quick Installation

# One-line install (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/chalkan3/sloth-kubernetes/main/install.sh | bash

# Verify
sloth-kubernetes version

Other platforms: See Installation Guide for Windows, manual install, and building from source.


5-Minute Quick Start

1. Set credentials:

export DIGITALOCEAN_TOKEN="your-token"
export PULUMI_CONFIG_PASSPHRASE="your-passphrase"

2. Create cluster.lisp:

(cluster
(metadata (name "my-cluster") (environment "dev"))
(providers (digitalocean (enabled true) (region "nyc3")))
(network (mode "wireguard") (wireguard (enabled true) (create true) (mesh-networking true)))
(node-pools
(main
(name "main")
(provider "digitalocean")
(region "nyc3")
(count 1)
(roles master etcd worker)
(size "s-4vcpu-8gb")))
(kubernetes (distribution "k3s")))

3. Deploy:

sloth-kubernetes deploy my-cluster --config cluster.lisp

4. Use:

sloth-kubernetes kubectl my-cluster get nodes

Full guide: Quick Start


Why sloth-kubernetes?

Challengesloth-kubernetes Solution
Multiple tools required (Terraform, kubectl, helm, etc.)Single binary with everything embedded
Static configuration filesDynamic Lisp configs with env vars, conditionals, functions
Vendor lock-inMulti-cloud support with same config format
State management complexityPulumi state as database with full audit trail
Networking across providersAutomatic WireGuard VPN mesh

How It Works

┌────────────────────────────────────────────────────────────────┐
│ sloth-kubernetes CLI │
│ (Single Binary) │
├────────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ Lisp │ │ Pulumi │ │ Salt │ │ kubectl │ │
│ │ Config │ │ Engine │ │ Master │ │ Embedded │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────────┘ │
├────────────────────────────────────────────────────────────────┤
│ Cloud Providers (AWS, DO, Linode, Azure) │
├────────────────────────────────────────────────────────────────┤
│ WireGuard VPN Mesh | RKE2/K3s | Node Management │
└────────────────────────────────────────────────────────────────┘

What You'll Learn

In this section:

  1. Installation - Install on Linux, macOS, or Windows
  2. Quick Start - Deploy your first cluster in 5 minutes

After getting started:


Prerequisites

Required

  • Cloud provider account with API credentials:

  • Terminal - Command-line access (bash, zsh, PowerShell)

Optional (but embedded)

  • kubectl - Embedded in sloth-kubernetes
  • Pulumi - Embedded in sloth-kubernetes
  • Salt - Automatically configured

Support


Ready to get started? Head to the Quick Start Guide to deploy your first cluster.