Skip to content

Local setup

Prerequisites

  • Go 1.26+ — we recommend using gvm to manage Go versions:
    gvm install go1.26.4 -B
    gvm use go1.26.4 --default
    
  • Docker (for the hot-reload dev environment)
  • kubectl

Build & run

make build
make run

This builds the kontinuum binary and starts it with dev-friendly logging (info, console format), listening on :8080 with a local SQLite database by default.

Connect with kubectl

export KUBECONFIG=kontinuum.yaml
kubectl get namespaces
kubectl create namespace demo

See Configuration for the full list of KONTINUUM_-prefixed environment variables, and Authentication for how OIDC and anonymous access interact — the server refuses to start until one of those is configured.

Hot-reload development environment

make dev starts PostgreSQL, air hot-reload, and a Caddy proxy that terminates TLS with a self-signed certificate on https://localhost:8443 (in front of the plain-HTTP http://localhost:8080 air serves), all via Docker Compose:

# start dev environment (air + postgres + proxy)
make dev
# stop dev environment
make dev-down
# stop and remove volumes
make dev-clean

For local development, copy .env.example to .env and adjust as needed — make dev loads it automatically via compose.yaml's env_file.

Tip

Ready to contribute a change back? See Contribution guidelines for repo conventions and how to validate a change before opening a PR.