Skip to content

Prerequisites

LoKO requires several external tools to function. This page explains each prerequisite and how to install it.

LoKO is written in Python and requires Python 3.9 or higher.

Check version:

Terminal window
python --version

Install:

Terminal window
brew install python@3.11

Container runtime for running Kind clusters.

Check version:

Terminal window
docker --version

Install:

Kubernetes in Docker - creates local Kubernetes clusters.

Check version:

Terminal window
kind --version

Install:

Terminal window
brew install kind

Kubernetes package manager.

Check version:

Terminal window
helm version

Install:

Terminal window
brew install helm

Declarative Helm deployment tool.

Check version:

Terminal window
helmfile version

Install:

Terminal window
brew install helmfile

Certificate toolkit used by LoKO to generate its local CA and wildcard certificates.

Check version:

Terminal window
cfssl version

Install:

Terminal window
brew install cfssl

Required for GitOps repository seeding and bootstrap flows.

Check version:

Terminal window
git --version

Install:

Terminal window
brew install git

Kubernetes command-line tool.

Check version:

Terminal window
kubectl version --client

Install:

Terminal window
brew install kubectl

Required for Firefox/NSS trust installation.

Terminal window
brew install nss

Tool version manager that can install all prerequisites.

Terminal window
curl https://mise.run | sh

Then:

Terminal window
cd loko-repo
mise install

Required for loko tunnel share — exposes local workloads to the internet via a public ngrok URL.

Install: ngrok.com/download

Terminal window
brew install ngrok/ngrok/ngrok

After installing, authenticate with your ngrok account:

Terminal window
ngrok config add-authtoken <your-token>

Get your token at dashboard.ngrok.com.

After installing all prerequisites, verify with:

Terminal window
loko check prerequisites

This checks for:

  • ✅ Docker (running)
  • ✅ Kind (installed)
  • ✅ Helm (installed)
  • ✅ Helmfile (installed)
  • ✅ cfssl (installed)
  • ✅ git (installed)
  • ✅ kubectl (installed)
  • ✅ stern, aws, mise (optional)
  • ✅ ngrok (optional — required for loko tunnel share)

loko automatically checks prerequisites on first run. When you run any loko command for the first time (except --help, --version, or completion commands), loko will:

  1. Display “First run: Checking prerequisites…”
  2. Check all required tools (Docker, git, kind, helm, kubectl, cfssl, helmfile)
  3. Show status for each tool with install URLs if missing
  4. If missing required tools: show error panel with clear installation guidance
  5. If all prerequisites met: suggest loko config generate to create your first configuration
  6. Create a sentinel file (~/.loko/.first-run-v1) to mark checks complete

Example first-run output:

First run: Checking prerequisites...
✅ Docker (24.0.7) - Running
✅ kind (0.20.0) - Installed
✅ helm (3.13.0) - Installed
✅ kubectl (1.28.2) - Installed
✅ cfssl - Installed
✅ git - Installed
✅ helmfile (0.157.0) - Installed
✅ All required tools are installed!
Next step: Create configuration
loko config generate # Generate configuration from template

If tools are missing:

The first-run check will show installation guidance and exit. After installing the missing tools, run any loko command again to re-check.

Manual check:

You can manually run prerequisite checks at any time:

Terminal window
loko check prerequisites

Force re-run first-run checks:

Terminal window
loko check prerequisites --force

This bypasses the sentinel file and runs checks even if they’ve been completed before.

Minimum:

  • 4 GB RAM
  • 2 CPU cores
  • 10 GB disk space

Recommended:

  • 8 GB RAM
  • 4 CPU cores
  • 20 GB disk space

LoKO uses these ports by default:

PortServiceConfigurable
80HTTP (Traefik)No
443HTTPS (Traefik)No
6443Kubernetes APIYes (cluster.kubernetes.api-port)

Check port availability:

Terminal window
loko config port-check