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
The smol-k8s-lab mascot, a very simple brown bear with claws and a single fang. To his upper left he has a blue heart.
  • 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 self-hosted OIDC provider
  • Supports initialization on a range of common self-hosted apps 📱
  • Allows you to deploy multiple environments, so you can have environments for dev, testing, prod, etc.
  • Lots o' docs
  • Commitment to never monetizing this app. It will always be AGPL licensed and free 💙
  • No AI or LLM "features" and a "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

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

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 Argo CD is not installed, smol-k8s-lab will only install: MetalLB, prometheus CRDs, Traefik, and cert-manager.

Application Description
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
cert manager logo
cert-manager
For SSL/TLS certificates
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.
alloy logo, a redish orange spiraly triangular circle
alloy
For collecting metrics, logs, and traces to be forwarded to loki, tempo, and mimir and viewed in grafana.
argo CD logo, an organer squid wearing a fishbowl helmet
Argo CD
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 OpenBao and Bitwarden
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
Grafana logo, an orange spiral
Grafana Stack
Grafana monitoring and logging stack (LGTM) using loki, grafana, tempo, and mimir (which includes alert manager).

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!

Release files for smol_k8s_lab 12.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smol_k8s_lab 12.6.0
File Size Uploaded
smol_k8s_lab-12.6.0.tar.gz 196.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smol_k8s_lab 12.6.0
File Interpreter ABI Platform
smol_k8s_lab-12.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 495.5 kB

Release files / smol_k8s_lab-12.6.0.tar.gz

Download URL smol_k8s_lab-12.6.0.tar.gz
Size 196.5 kB
Tags Source
SHA-256 checksum
How to use checksums
46a2727632789239197d54a6b4f32de0ab6e80f303d575f6af4c460f16e3ddbd
BLAKE2b-256 checksum
How to use checksums
ca2b00de5ab09e94f72dbc9ecfa4c669202b105b0898ea492e4d3870f417c46c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.11.2 Linux/6.1.0-47-amd64

Release files / smol_k8s_lab-12.6.0-py3-none-any.whl

Download URL smol_k8s_lab-12.6.0-py3-none-any.whl
Size 299.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f133f20cd864450a9d3a3ca22174d49d86570af6e2afdaa4182eee91e83bf6e0
BLAKE2b-256 checksum
How to use checksums
7538ea73b243d53a6c62780e489622edc90bcffea278a7a8aaae3812231634f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.11.2 Linux/6.1.0-47-amd64

Release history Release notifications | RSS feed

This release

12.6.0 This release

2 release files

12.5.3

2 release files

12.5.2

2 release files

12.5.1

2 release files

12.5.0

2 release files

12.4.2

2 release files

12.4.1

2 release files

12.4.0

2 release files

12.3.2

2 release files

12.3.1

2 release files

12.3.0

2 release files

12.2.0

2 release files

12.1.6

2 release files

12.1.5

2 release files

12.1.4

2 release files

12.1.3

2 release files

12.1.2

2 release files

12.1.1

2 release files

12.1.0

2 release files

12.0.2

2 release files

12.0.1

2 release files

12.0.0

2 release files

11.3.4

2 release files

11.3.3

2 release files

11.3.2

2 release files

11.3.1

2 release files

10.1.9

2 release files

10.1.8

2 release files

10.1.7

2 release files

10.1.6

2 release files

10.1.3

2 release files

10.1.2

2 release files

10.1.1

2 release files

10.1.0

2 release files

10.0.9

2 release files

10.0.8

2 release files

10.0.7

2 release files

10.0.6

2 release files

10.0.5

2 release files

10.0.4

2 release files

10.0.3

2 release files

10.0.2

2 release files

10.0.1

2 release files

10.0.0

2 release files

9.31.2

2 release files

9.31.1

2 release files

9.31.0

2 release files

9.30.9

2 release files

9.30.8

2 release files

9.30.7

2 release files

9.30.6

2 release files

9.30.5

2 release files

9.30.4

2 release files

9.30.3

2 release files

9.30.2

2 release files

9.30.1

2 release files

9.30.0

2 release files

9.29.5

2 release files

9.29.4

2 release files

9.29.3

2 release files

9.29.2

2 release files

9.29.1

2 release files

9.29.0

2 release files

9.28.0

2 release files

9.26.2

2 release files

9.26.1

2 release files

9.26.0

2 release files

9.25.9

2 release files

9.25.8

2 release files

9.25.7

2 release files

9.25.6

2 release files

9.25.5

2 release files

9.25.4

2 release files

9.25.3

2 release files

9.25.2

2 release files

9.25.1

2 release files

9.25.0

2 release files

9.24.0

2 release files

9.23.1

2 release files

9.23.0

2 release files

9.22.0

2 release files

9.21.4

2 release files

9.21.3

2 release files

9.21.2

2 release files

9.21.1

2 release files

9.21.0

2 release files

9.20.5

2 release files

9.20.4

2 release files

9.20.3

2 release files

9.20.2

2 release files

9.20.1

2 release files

9.20.0

2 release files

9.19.1

2 release files

9.19.0

2 release files

9.18.3

2 release files

9.18.2

2 release files

9.18.1

2 release files

9.18.0

2 release files

9.17.4

2 release files

9.17.3

2 release files

9.17.2

2 release files

9.17.1

2 release files

9.17.0

2 release files

9.16.4

2 release files

9.16.3

2 release files

9.16.2

2 release files

9.16.1

2 release files

9.16.0

2 release files

9.15.6

2 release files

9.15.5

2 release files

9.15.4

2 release files

9.15.3

2 release files

9.15.2

2 release files

9.15.1

2 release files

9.15.0

2 release files

9.14.8

2 release files

9.14.7

2 release files

9.14.6

2 release files

9.14.5

2 release files

9.14.4

2 release files

9.14.3

2 release files

9.14.2

2 release files

9.14.1

2 release files

9.14.0

2 release files

9.13.6

2 release files

9.13.5

2 release files

9.13.4

2 release files

9.13.3

2 release files

9.13.2

2 release files

9.13.1

2 release files

9.13.0

2 release files

9.12.3

2 release files

9.12.2

2 release files

9.12.1

2 release files

9.12.0

2 release files

9.11.1

2 release files

9.11.0

2 release files

9.9.0

2 release files

9.8.7

2 release files

9.8.6

2 release files

9.8.5

2 release files

9.8.4

2 release files

9.8.3

2 release files

9.8.2

2 release files

9.8.1

2 release files

9.8.0

2 release files

9.7.5

2 release files

9.7.4

2 release files

9.7.3

2 release files

9.7.2

2 release files

9.7.1

2 release files

9.7.0

2 release files

9.6.2

2 release files

9.6.1

2 release files

9.6.0

2 release files

9.5.3

2 release files

9.5.2

2 release files

9.5.1

2 release files

9.5.0

2 release files

9.3.2

2 release files

9.3.1

2 release files

9.3.0

2 release files

9.2.0

2 release files

9.1.6

2 release files

9.1.5

2 release files

9.1.4

2 release files

9.1.3

2 release files

9.1.2

2 release files

9.1.1

2 release files

9.1.0

2 release files

9.0.5

2 release files

9.0.4

2 release files

9.0.3

2 release files

9.0.2

2 release files

9.0.1

2 release files

9.0.0

2 release files

8.5.2

2 release files

8.5.1

2 release files

8.5.0

2 release files

8.4.12

2 release files

8.4.11

2 release files

8.4.10

2 release files

8.4.9

2 release files

8.4.8

2 release files

8.4.7

2 release files

8.4.6

2 release files

8.4.5

2 release files

8.4.4

2 release files

8.4.3

2 release files

8.4.2

2 release files

8.4.1

2 release files

8.4.0

2 release files

8.3.2

2 release files

8.3.1

2 release files

8.3.0

2 release files

8.2.0

2 release files

8.1.0

2 release files

8.0.0

2 release files

7.5.0

2 release files

7.4.0

2 release files

7.3.0

2 release files

7.2.1

2 release files

7.2.0

2 release files

7.1.0

2 release files

7.0.1

2 release files

6.4.8

2 release files

6.4.7

2 release files

6.4.6

2 release files

6.4.5

2 release files

6.4.4

2 release files

6.4.3

2 release files

6.4.2

2 release files

6.4.1

2 release files

6.4.0

2 release files

6.3.1

2 release files

6.3.0

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.20.4

2 release files

5.20.3

2 release files

5.20.2

2 release files

5.20.1

2 release files

5.20.0

2 release files

5.19.2

2 release files

5.19.1

2 release files

5.19.0

2 release files

5.18.0

2 release files

5.17.4

2 release files

5.17.3

2 release files

5.17.2

2 release files

5.17.1

2 release files

5.17.0

2 release files

5.16.0

2 release files

5.15.0

2 release files

5.14.1

2 release files

5.14.0

2 release files

5.13.3

2 release files

5.13.2

2 release files

5.13.1

2 release files

5.13.0

2 release files

5.12.0

2 release files

5.11.0

2 release files

5.9.2

2 release files

5.9.1

2 release files

5.9.0

2 release files

5.8.4

2 release files

5.8.3

2 release files

5.8.2

2 release files

5.8.1

2 release files

5.8.0

2 release files

5.7.0

2 release files

5.6.2

2 release files

5.6.1

2 release files

5.6.0

2 release files

5.5.1

2 release files

5.5.0

2 release files

5.4.3

2 release files

5.4.2

2 release files

5.4.1

2 release files

5.4.0

2 release files

5.3.2

2 release files

5.3.1

2 release files

5.3.0

2 release files

5.2.6

2 release files

5.2.5

2 release files

5.2.4

2 release files

5.2.3

2 release files

5.2.2

2 release files

5.2.1

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.4

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.7.1

2 release files

3.7.0

2 release files

3.6.4

2 release files

3.6.3

2 release files

3.6.2

2 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.7

2 release files

3.0.6

2 release files

3.0.5

2 release files

3.0.4

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.10.9

2 release files

0.10.8

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page