Skip to main content

🧸 smol-k8s-lab

PyPI - Version PyPI - Downloads

A terminal based tool to install slimmer k8s distros on metal, with batteries included!

Screenshot of the smol-k8s-lab help menu

Features

  • Deploys Argo CD by default, so you can manage your entire lab using files in open source git repos
    • Argo CD ships with a dashboard with a custom theme 💙
    • Argo CD is default secured with a self hosted OIDC provider, Zitadel
  • Uses a local password manager of your choice. Currently supported:
    • Bitwarden
    • KeyPass
    • macOS keychain
    • Freedesktop Secret Service supports many DE including GNOME (requires secretstorage)
    • KDE4 & KDE5 KWallet (requires dbus)
  • External Secerts management for your sensitive Kubernetes Secret values. Currently supported:
  • Manages all your authentication needs centrally using Zitadel, a selfed hosted OIDC provider
  • Supports initialization on a range of common self-hosted apps 📱
  • Lots o' docs
  • commitment to never monetizing this app. It will always be AGPL licensed and free 💙
  • No AI or LLMs "features" and No AI contribution policy

Installation

🐝 sure to check out our full installation guide, but the gist of it is smol-k8s-lab can be installed via pipx (or brew coming soon).

pipx

smol-k8s-lab requires Python 3.12+ (and pipx). If you've already got both and other pre-reqs, you should be able to:

# install the CLI
pipx install smol-k8s-lab

# Check the help menu before proceeding
smol-k8s-lab --help

Then you should be able to check the version and cli options with:

smol-k8s-lab --help

Output of smol-k8s-lab --help after cloning the directory and installing the prerequisites.

Checkout our TUI docs for more info on how to get started playing with smol-k8s-lab :-)

Upgrades

Check out our upgrades guide for how to upgrade to different major versions, but in general, you can always run:

pipx upgrade smol-k8s-lab

Under the hood

Note: this project is not officially affiliated with any of the below tooling or applications.

Supported k8s distributions

We always install the latest version of Kubernetes that is available from the distro's startup script.

Distro Description

k3s
The certified Kubernetes distribution built for IoT & Edge computing

k3d
TESTING PHASE k3s in docker 🐳

KinD
kind is a tool for running local Kubernetes clusters using Docker container “nodes”. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.

We tend to test first on k3s first, then the other distros. k3d support coming soon.

Default Installed Applications

All of these can be disabled with the exception of Argo CD, which is optional, but if not installed, smol-k8s-lab will only install: MetalLB, nginx-ingress, and cert-manager.

Application Description Initialization Supported
metallb logo, blue arrow pointing up, with small line on one leg of arrow to show balance
metallb
Loadbalancer and IP Address pool manager for metal
cilium logo
cilium
Gateway API (a bit clunky right now, but getting better!)
traefik logo, blue gopher wearing a plane director outfit
Traefik
Traefik is both an Ingress and Gateway API controller and we're currently switching to supporting it in addition to cilium since ingress-nginx is deprecated.
cert manager logo
cert-manager
For SSL/TLS certificates
argo CD logo, an organer squid wearing a fishbowl helmet
Argo CD
Gitops - Continuous Deployment
argo CD logo, an organer squid wearing a fishbowl helmet
Argo CD Appset Secret Plugin
Gitops - Continuous Deployment
ESO logo, outline of robot with astricks in a screen in it's belly
ESO
external-secrets-operator integrates external secret management systems like Bitwarden
ESO logo, again
Bitwarden ESO Provider
Bitwarden external-secrets-operator provider
OpenBao logo, drawing of 3 small bao with simple eyes personifying them
OpenBao
OpenBao (Hashicorp Vault fork) - it's a Secrets Store.
Zitadel logo, an orange arrow pointing left
ZITADEL
An identity provider and OIDC provider to provide SSO
Prometheus logo, a torch
Prometheus Stack
Prometheus monitoring and logging stack using loki/alloy, alert manager, and grafana

For a complete list of installable applications, checkout the default apps docs. To install your own custom apps, you can check out an example via the config file or learn how to do it via the tui.

Status

Somewhat stable and being actively supported, so if you'd like to contribute or just found a :bug:, feel free to open an issue (and/or pull request) over at codeberg.org, and we'll try to take a look ASAP!

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smol_k8s_lab-11.1.0.tar.gz (207.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smol_k8s_lab-11.1.0-py3-none-any.whl (319.9 kB view details)

Uploaded Python 3

File details

Details for the file smol_k8s_lab-11.1.0.tar.gz.

File metadata

  • Download URL: smol_k8s_lab-11.1.0.tar.gz
  • Upload date:
  • Size: 207.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.11.2 Linux/6.1.0-51-amd64

File hashes

Hashes for smol_k8s_lab-11.1.0.tar.gz
Algorithm Hash digest
SHA256 9b1849be19f07278dcc9afe829d7e7b5218faa43070109331c7d29838a6558ed
MD5 64bedbe7107a3d45fdf50e907557b864
BLAKE2b-256 dfed4f30d5d381ca0db81198569235497bda5e93913bfe24ad0d1c42041b45f5

See more details on using hashes here.

File details

Details for the file smol_k8s_lab-11.1.0-py3-none-any.whl.

File metadata

  • Download URL: smol_k8s_lab-11.1.0-py3-none-any.whl
  • Upload date:
  • Size: 319.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.11.2 Linux/6.1.0-51-amd64

File hashes

Hashes for smol_k8s_lab-11.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c766483cfd4cc2363e0d1815f7fc31a2d8f9069dad26e192ff775f4b03c2ff6
MD5 0026b2557f8b9852d5e1225e4dd73616
BLAKE2b-256 a759386c453605abd56da26382f1f1fd0d3668335ed54afb05d813439d3fdf2e

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page