Skip to content

CLI commands

Every command of the lo binary with its flags and examples, generated from the command tree (go run ./hack/gen-cli-docs, checked by go test ./internal/clidoc/). Do not edit this file: change the command's help text and regenerate. The hand-written CLI reference explains the commands; this page lists them. The global flags are listed once, under lo.

lo

lok8s - local dev orchestration

lo [flags]

Options

  -s, --cluster string       Cluster name to manage
      --config string        Kind config to use
      --debug                On a failure, print the external command line (docker, kind, kubectl, …) and its exit code
      --domain string        Domain to use
      --domain-sans string   Domain sans to use
  -f, --force                Force operation without prompts (also recreates immutable/terminating conflicts)
      --force-recreate       On apply, recreate objects blocked by an immutable field or a stuck Terminating finalizer
  -h, --help                 help for lo
      --kubernetes string    Kubernetes version to use
      --no-color             No ANSI colour on the terminal (env form: NO_COLOR)
      --no-eject             Never write embedded framework assets into the project (.lok8s/…); serve them from a temp dir instead
  -q, --quiet                Print errors and warnings only: no [assets] or DOMAIN_NAME notices
  -r, --remote               Provision on remote VM (uses spec.provider + spec.remote)
  -v, --verbose count        Enable verbose logging

SEE ALSO

  • lo addons - List driver addons for the active cluster
  • lo ai - Manage the AI integration (lo chat + agent skills)
  • lo assets - Manage the framework assets embedded in the binary
  • lo audit - Static security-posture audit (read-only, cluster-free; --json | --sarif)
  • lo bootstrap - Apply/reapply bootstrap addons
  • lo build - Build kustomize targets
  • lo chat - Chat with a local AI (transparent, streaming)
  • lo clean - Clean up local volumes
  • lo completion - Generate the autocompletion script for the specified shell
  • lo deploy - Deploy platform
  • lo destroy - Destroy a cluster
  • lo doctor - Diagnose the environment + toolchain
  • lo down - Stop cluster
  • lo drivers - Driver-specific commands
  • lo gitops - GitOps integration
  • lo image - Manage the local cache registry
  • lo init - Scaffold service config (lok8s.yaml/services.yaml/Tiltfile)
  • lo kubeconfig - Print a domain kubeconfig (--oidc for kubelogin exec-plugin)
  • lo kubehz - kubehz platform integration
  • lo kustomize - Manage kustomize plugins (Go)
  • lo lint - Validate structure and specs
  • lo mcp - Serve the lo commands as MCP tools (stdio or HTTP)
  • lo provision - Provision a cluster (full lifecycle)
  • lo recover - Rebuild a cluster from bare metal (disaster recovery)
  • lo registry - Manage Docker registries
  • lo secrets - Manage secrets (encrypt/decrypt/set)
  • lo status - Cluster health and status
  • lo tilt - Manage tilt cluster
  • lo toolchain - Install and verify the pinned project toolchain via b
  • lo trust - Trust the local dev CA (mkcert -install)
  • lo up - Start cluster
  • lo use - Set/show active domain
  • lo version - Print lok8s + toolchain versions

lo addons

List driver addons for the active cluster

lo addons [addon...] [flags]

Examples

  lo addons
  lo addons cilium
  lo addons --detail --origin

Options

      --detail count    Inventory the addons THIS cluster deploys (spec.bootstrap) + category + how to configure
  -h, --help            help for addons
      --origin          Add the ORIGIN column: builtin (served from the binary) · local · local (modified) · local-only (see: lo assets)
  -o, --output string   Output format: text, json or yaml (default "text")

SEE ALSO

  • lo - lok8s - local dev orchestration

lo ai

Manage the AI integration (lo chat + agent skills)

lo ai [flags]

Examples

  lo ai check
  lo ai skills

Options

  -h, --help   help for ai

SEE ALSO

  • lo - lok8s - local dev orchestration
  • lo ai check - Check the AI setup: lo mcp bridge, local runtime, skill wiring
  • lo ai link - Symlink (or --copy) the skills into an assistant skill dir
  • lo ai skills - List the agent skills and how each assistant gets them
  • lo ai unlink - Remove skills previously linked into an assistant

lo ai check

Check the AI setup: lo mcp bridge, local runtime, skill wiring

lo ai check [flags]

Examples

  lo ai check

Options

  -h, --help   help for check

SEE ALSO

  • lo ai - Manage the AI integration (lo chat + agent skills)

Symlink (or --copy) the skills into an assistant skill dir

lo ai link [agent] [flags]

Examples

  lo ai link claude
  lo ai link cursor --copy

Options

  -c, --copy count   Copy the skills instead of symlinking
  -h, --help         help for link

SEE ALSO

  • lo ai - Manage the AI integration (lo chat + agent skills)

lo ai skills

List the agent skills and how each assistant gets them

lo ai skills [flags]

Examples

  lo ai skills

Options

  -h, --help   help for skills

SEE ALSO

  • lo ai - Manage the AI integration (lo chat + agent skills)

Remove skills previously linked into an assistant

lo ai unlink [agent] [flags]

Examples

  lo ai unlink claude

Options

  -h, --help   help for unlink

SEE ALSO

  • lo ai - Manage the AI integration (lo chat + agent skills)

lo assets

Manage the framework assets embedded in the binary

lo assets [flags]

Examples

  lo assets list
  lo assets diff --check

Options

  -h, --help   help for assets

SEE ALSO

lo assets diff

Diff an asset three ways: origin, local, embedded

Synopsis

Per file: unchanged · local modified · lo updated · both (conflict) · local-only · builtin-only. The headline per addon is the chart version (local vs embedded). --check exits 1 on any drift.

lo assets diff [rel...] [flags]

Examples

  lo assets diff
  lo assets diff addons/cilium
  lo assets diff --check

Options

      --check           Exit 1 on any drift
  -h, --help            help for diff
      --json            Machine-readable output (the same as -o json)
  -o, --output string   Output format: text, json or yaml (default "text")

SEE ALSO

  • lo assets - Manage the framework assets embedded in the binary

lo assets eject

Write embedded assets into the project (.lok8s/<rel>/)

Synopsis

Materialize embedded framework assets into the project so what a cluster applies is pinned on disk. Without arguments the set is what this project's cluster specs reference (every builtin spec.bootstrap addon, the driver's cluster templates, the inventory CRD); --all ejects every data asset. An existing local copy is never touched. --check writes nothing and exits 1 when any of the set would be ejected — the CI gate for "this repo pins what it applies".

The rel "bash" is the frozen bash implementation (lo, libs/, utils/, the drivers' code, the provider plugins). Ejecting it writes the code half into .lok8s/ with a .lo-origin marker at the tree root and ejects every data asset the project lacks, so .lok8s/ is a complete tree: the provider plugins then run from it instead of the copy the binary extracts into its cache, and lok8s.yaml can route commands to it (spec.implementation; a routing never runs from the cache). It is never part of --all or of the referenced set.

lo assets eject [rel...] [flags]

Examples

  lo assets eject
  lo assets eject addons/cilium
  lo assets eject bash

Options

      --all     Eject every embedded asset, not only the referenced ones
      --check   Write nothing; exit 1 if any asset would be ejected
  -h, --help    help for eject

SEE ALSO

  • lo assets - Manage the framework assets embedded in the binary

lo assets list

List every embedded asset with its origin

lo assets list [flags]

Examples

  lo assets list
  lo assets list --json

Options

  -h, --help            help for list
      --json            Machine-readable output (the same as -o json)
  -o, --output string   Output format: text, json or yaml (default "text")

SEE ALSO

  • lo assets - Manage the framework assets embedded in the binary

lo assets update

Apply the embedded copy over an untouched local one

lo assets update <rel> [flags]

Examples

  lo assets update addons/cilium
  lo assets update addons/cilium --force

Options

  -h, --help   help for update

SEE ALSO

  • lo assets - Manage the framework assets embedded in the binary

lo audit

Static security-posture audit (read-only, cluster-free; --json | --sarif)

lo audit [domain] [flags]

Examples

  lo audit
  lo audit kubehz.cloud --json
  lo audit --sarif > audit.sarif

Options

  -h, --help            help for audit
      --json            Emit machine-readable JSON (stable schema for tooling; the same as -o json)
  -o, --output string   Output format: text, json or yaml (default "text")
      --sarif           Emit SARIF 2.1.0 (GitHub code-scanning upload)

SEE ALSO

  • lo - lok8s - local dev orchestration

lo bootstrap

Apply/reapply bootstrap addons

lo bootstrap [flags]

Examples

  lo bootstrap
  lo bootstrap --domain kubehz.dev

Options

  -h, --help   help for bootstrap

SEE ALSO

  • lo - lok8s - local dev orchestration

lo build

Build kustomize targets

lo build [flags]

Examples

  lo build
  lo build --domain kubehz.cloud

Options

      --cluster-override string   Override cluster domain for kubeconfig resolution
  -h, --help                      help for build
      --no-secrets                Split ONLY non-Secret resources; never render, re-encrypt, prune, or even read committed Secret.*.sops.yaml (CI render path — no store/key needed)
      --single                    Skip the split emit even when the spec declares it (debug override)
      --split                     Also emit per-resource files under artifacts/ (debug override; declare it in spec.build.artifacts instead)

SEE ALSO

  • lo - lok8s - local dev orchestration

lo chat

Chat with a local AI (transparent, streaming)

lo chat [flags]

Examples

  lo chat

Options

  -h, --help   help for chat

SEE ALSO

  • lo - lok8s - local dev orchestration

lo clean

Clean up local volumes

lo clean [flags]

Examples

  lo clean
  lo clean --all

Options

  -a, --all    Clean up all volumes
  -h, --help   help for clean
  -y, --yes    Answer the confirmation on a terminal (off a terminal there is none)

SEE ALSO

  • lo - lok8s - local dev orchestration

lo completion

Generate the autocompletion script for the specified shell

Synopsis

Generate the autocompletion script for lo for the specified shell. See each sub-command's help for details on how to use the generated script.

Examples

  source <(lo completion bash)
  lo completion zsh > "${fpath[1]}/_lo"

Options

  -h, --help   help for completion

SEE ALSO

lo completion bash

Generate the autocompletion script for bash

Synopsis

Generate the autocompletion script for the bash shell.

This script depends on the 'bash-completion' package. If it is not installed already, you can install it via your OS's package manager.

To load completions in your current shell session:

source <(lo completion bash)

To load completions for every new session, execute once:

Linux:

lo completion bash > /etc/bash_completion.d/lo

macOS:

lo completion bash > $(brew --prefix)/etc/bash_completion.d/lo

You will need to start a new shell for this setup to take effect.

lo completion bash

Examples

  source <(lo completion bash)
  lo completion bash > /etc/bash_completion.d/lo

Options

  -h, --help              help for bash
      --no-descriptions   disable completion descriptions

SEE ALSO

  • lo completion - Generate the autocompletion script for the specified shell

lo completion fish

Generate the autocompletion script for fish

Synopsis

Generate the autocompletion script for the fish shell.

To load completions in your current shell session:

lo completion fish | source

To load completions for every new session, execute once:

lo completion fish > ~/.config/fish/completions/lo.fish

You will need to start a new shell for this setup to take effect.

lo completion fish [flags]

Examples

  lo completion fish > ~/.config/fish/completions/lo.fish

Options

  -h, --help              help for fish
      --no-descriptions   disable completion descriptions

SEE ALSO

  • lo completion - Generate the autocompletion script for the specified shell

lo completion powershell

Generate the autocompletion script for powershell

Synopsis

Generate the autocompletion script for powershell.

To load completions in your current shell session:

lo completion powershell | Out-String | Invoke-Expression

To load completions for every new session, add the output of the above command to your powershell profile.

lo completion powershell [flags]

Examples

  lo completion powershell | Out-String | Invoke-Expression

Options

  -h, --help              help for powershell
      --no-descriptions   disable completion descriptions

SEE ALSO

  • lo completion - Generate the autocompletion script for the specified shell

lo completion zsh

Generate the autocompletion script for zsh

Synopsis

Generate the autocompletion script for the zsh shell.

If shell completion is not already enabled in your environment you will need to enable it. You can execute the following once:

echo "autoload -U compinit; compinit" >> ~/.zshrc

To load completions in your current shell session:

source <(lo completion zsh)

To load completions for every new session, execute once:

Linux:

lo completion zsh > "${fpath[1]}/_lo"

macOS:

lo completion zsh > $(brew --prefix)/share/zsh/site-functions/_lo

You will need to start a new shell for this setup to take effect.

lo completion zsh [flags]

Examples

  lo completion zsh > "${fpath[1]}/_lo"

Options

  -h, --help              help for zsh
      --no-descriptions   disable completion descriptions

SEE ALSO

  • lo completion - Generate the autocompletion script for the specified shell

lo deploy

Deploy platform

lo deploy [flags]

Examples

  lo deploy
  lo deploy -l lok8s.dev/name=zitadel
  lo deploy --domain kubehz.cloud --cluster-override kubehz.in.net

Options

      --cluster-override string   Override cluster domain for kubeconfig resolution
  -h, --help                      help for deploy
  -l, --label string              Only deploy resources with this label (key=value; key may be lok8s.dev/<x> or any label key)

SEE ALSO

  • lo - lok8s - local dev orchestration

lo destroy

Destroy a cluster

lo destroy [flags]

Examples

  lo destroy
  lo destroy --domain kubehz.in.net

Options

  -h, --help   help for destroy
  -y, --yes    Answer the confirmation on a terminal (off a terminal there is none)

SEE ALSO

  • lo - lok8s - local dev orchestration

lo doctor

Diagnose the environment + toolchain

lo doctor [flags]

Examples

  lo doctor
  lo doctor --toolchain

Options

  -h, --help            help for doctor
  -o, --output string   Output format: text, json or yaml (default "text")
      --toolchain       Verify the b-managed toolchain against the pins (default: only when .bin/b.yaml was written by lo toolchain install)

SEE ALSO

  • lo - lok8s - local dev orchestration

lo down

Stop cluster

lo down [flags]

Examples

  lo down
  lo down --domain kubehz.dev

Options

  -h, --help   help for down
  -y, --yes    Answer the confirmation on a terminal (off a terminal there is none)

SEE ALSO

  • lo - lok8s - local dev orchestration

lo drivers

Driver-specific commands

lo drivers [name] [args...] [flags]

Examples

  lo drivers --list
  lo drivers lo status kubehz.dev

Options

  -h, --help         help for drivers
  -l, --list count   List available drivers
      --origin       With --list: add the origin of each driver's cluster templates (builtin · local · local (modified) · local-only)

SEE ALSO

lo drivers capi

CAPI driver

lo drivers capi [flags]

Examples

  lo drivers capi status kubehz.dev
  lo drivers capi provision kubehz.dev

Options

  -h, --help   help for capi

SEE ALSO

lo drivers capi destroy

Destroy a CAPI cluster

lo drivers capi destroy <domain> [flags]

Examples

  lo drivers capi destroy kubehz.dev

Options

  -h, --help   help for destroy

SEE ALSO

lo drivers capi kubeconfig

Extract kubeconfig path

lo drivers capi kubeconfig <domain> [flags]

Examples

  lo drivers capi kubeconfig kubehz.dev

Options

  -h, --help   help for kubeconfig

SEE ALSO

lo drivers capi provision

Provision a CAPI cluster

lo drivers capi provision <domain> [flags]

Examples

  lo drivers capi provision kubehz.dev

Options

  -h, --help   help for provision

SEE ALSO

lo drivers capi status

Check cluster status

lo drivers capi status <domain> [flags]

Examples

  lo drivers capi status kubehz.dev

Options

  -h, --help   help for status

SEE ALSO

lo drivers kkp

KKP driver

lo drivers kkp [flags]

Examples

  lo drivers kkp status kubehz.dev
  lo drivers kkp provision kubehz.dev

Options

  -h, --help   help for kkp

SEE ALSO

lo drivers kkp destroy

Destroy a KKP cluster

lo drivers kkp destroy <domain> [flags]

Examples

  lo drivers kkp destroy kubehz.dev

Options

  -h, --help   help for destroy

SEE ALSO

lo drivers kkp kubeconfig

Extract kubeconfig path

lo drivers kkp kubeconfig <domain> [flags]

Examples

  lo drivers kkp kubeconfig kubehz.dev

Options

  -h, --help   help for kubeconfig

SEE ALSO

lo drivers kkp provision

Provision a KKP cluster

lo drivers kkp provision <domain> [flags]

Examples

  lo drivers kkp provision kubehz.dev

Options

  -h, --help   help for provision

SEE ALSO

lo drivers kkp status

Check cluster status

lo drivers kkp status <domain> [flags]

Examples

  lo drivers kkp status kubehz.dev

Options

  -h, --help   help for status

SEE ALSO

lo drivers kubehz

kubehz space driver

lo drivers kubehz [flags]

Examples

  lo drivers kubehz status kubehz.dev
  lo drivers kubehz provision kubehz.dev

Options

  -h, --help   help for kubehz

SEE ALSO

lo drivers kubehz destroy

Remove the space from kubehz

lo drivers kubehz destroy <domain> [flags]

Examples

  lo drivers kubehz destroy kubehz.dev

Options

  -h, --help   help for destroy

SEE ALSO

lo drivers kubehz kubeconfig

Explain how space access works (no kubeconfig download)

lo drivers kubehz kubeconfig <domain> [flags]

Examples

  lo drivers kubehz kubeconfig kubehz.dev

Options

  -h, --help   help for kubeconfig

SEE ALSO

lo drivers kubehz provision

Create/adopt the space + mint node join tickets

lo drivers kubehz provision <domain> [flags]

Examples

  lo drivers kubehz provision kubehz.dev

Options

  -h, --help   help for provision

SEE ALSO

lo drivers kubehz status

Show space + node status

lo drivers kubehz status <domain> [flags]

Examples

  lo drivers kubehz status kubehz.dev

Options

  -h, --help   help for status

SEE ALSO

lo drivers kubeone

KubeOne driver

lo drivers kubeone [flags]

Examples

  lo drivers kubeone status kubehz.dev
  lo drivers kubeone provision kubehz.dev

Options

  -h, --help   help for kubeone

SEE ALSO

lo drivers kubeone destroy

Destroy a KubeOne cluster

lo drivers kubeone destroy <domain> [flags]

Examples

  lo drivers kubeone destroy kubehz.dev

Options

  -h, --help   help for destroy

SEE ALSO

lo drivers kubeone kubeconfig

Extract kubeconfig path

lo drivers kubeone kubeconfig <domain> [flags]

Examples

  lo drivers kubeone kubeconfig kubehz.dev

Options

  -h, --help   help for kubeconfig

SEE ALSO

lo drivers kubeone provision

Provision a KubeOne cluster

lo drivers kubeone provision <domain> [flags]

Examples

  lo drivers kubeone provision kubehz.dev

Options

  -h, --help   help for provision

SEE ALSO

lo drivers kubeone status

Check cluster status

lo drivers kubeone status <domain> [flags]

Examples

  lo drivers kubeone status kubehz.dev

Options

  -h, --help   help for status

SEE ALSO

lo drivers lo

Lo driver

lo drivers lo [flags]

Examples

  lo drivers lo status kubehz.dev
  lo drivers lo provision kubehz.dev

Options

  -h, --help   help for lo

SEE ALSO

lo drivers lo destroy

Destroy a cluster

lo drivers lo destroy <domain> [flags]

Examples

  lo drivers lo destroy kubehz.dev

Options

  -h, --help   help for destroy

SEE ALSO

lo drivers lo kubeconfig

Extract kubeconfig (writes .kubeconfig/, may open an SSH tunnel)

lo drivers lo kubeconfig <domain> [flags]

Examples

  lo drivers lo kubeconfig kubehz.dev

Options

  -h, --help   help for kubeconfig

SEE ALSO

lo drivers lo provision

Provision a cluster

lo drivers lo provision <domain> [flags]

Examples

  lo drivers lo provision kubehz.dev

Options

  -h, --help   help for provision

SEE ALSO

lo drivers lo status

Check cluster status

lo drivers lo status <domain> [flags]

Examples

  lo drivers lo status kubehz.dev

Options

  -h, --help   help for status

SEE ALSO

lo gitops

GitOps integration

lo gitops [flags]

Examples

  lo gitops flux
  lo gitops argo --domain kubehz.cloud

Options

  -h, --help   help for gitops

SEE ALSO

  • lo - lok8s - local dev orchestration
  • lo gitops argo - Annotate artifacts with Argo sync-wave (deferred)
  • lo gitops flux - Generate Flux manifests (deferred)

lo gitops argo

Annotate artifacts with Argo sync-wave (deferred)

lo gitops argo [flags]

Examples

  lo gitops argo
  lo gitops argo --domain kubehz.cloud

Options

  -h, --help   help for argo

SEE ALSO

lo gitops flux

Generate Flux manifests (deferred)

lo gitops flux [flags]

Examples

  lo gitops flux
  lo gitops flux --domain kubehz.cloud

Options

  -h, --help   help for flux

SEE ALSO

lo image

Manage the local cache registry

lo image [flags]

Examples

  lo image cache api
  lo image list

Options

  -h, --help   help for image

SEE ALSO

  • lo - lok8s - local dev orchestration
  • lo image cache - Pre-pull image(s) into the local cache registry
  • lo image clean - Drop all images from the cache registry
  • lo image list - List images currently in the cache registry

lo image cache

Pre-pull image(s) into the local cache registry

lo image cache [service] [flags]

Examples

  lo image cache api
  lo image cache --all --force

Options

  -a, --all     Process every service in the active cache queue
  -f, --force   Force re-pull even if image exists in cache
  -h, --help    help for cache

SEE ALSO

  • lo image - Manage the local cache registry

lo image clean

Drop all images from the cache registry

lo image clean [flags]

Examples

  lo image clean

Options

  -h, --help   help for clean
  -y, --yes    Answer the confirmation on a terminal (off a terminal there is none)

SEE ALSO

  • lo image - Manage the local cache registry

lo image list

List images currently in the cache registry

lo image list [flags]

Examples

  lo image list

Options

  -h, --help   help for list

SEE ALSO

  • lo image - Manage the local cache registry

lo init

Scaffold service config (lok8s.yaml/services.yaml/Tiltfile)

lo init [flags]

Examples

  lo init
  lo init --plan
  lo init service api

Options

  -n, --dry-run   The same as --plan
  -h, --help      help for init
      --plan      Print what lo init sees here and offers, as text; write nothing (works off a terminal)
  -y, --yes       Never ask: print the help instead of the screens (scripts, CI)

SEE ALSO

  • lo - lok8s - local dev orchestration
  • lo init cluster - Scaffold a cluster spec, clusters/<domain>/cluster.lok8s.yaml, and make it the active domain
  • lo init project - Scaffold a project (clusters/, lok8s.yaml, .gitignore entries, one env file, optionally the first cluster spec) — files only, no network
  • lo init service - Scaffold a bare service (lok8s.yaml + services.yaml + Tiltfile)
  • lo init test - Scaffold a Playwright integration suite (tests/)

lo init cluster

Scaffold a cluster spec, clusters/<domain>/cluster.lok8s.yaml, and make it the active domain

lo init cluster [domain] [flags]

Examples

  lo init cluster demo.dev
  lo init cluster prod.example.com --driver kubeone

Options

      --driver string   Driver of the spec: lo, kubeone, capi, kkp, kubehz-hosted (default "lo")
  -n, --dry-run         The same as --plan
  -h, --help            help for cluster
      --no-active       Write the spec only; keep the active domain as it is
      --plan            Print the screen as text and write nothing (works off a terminal)
  -y, --yes             Never ask: run with the values given (scripts, CI)

SEE ALSO

  • lo init - Scaffold service config (lok8s.yaml/services.yaml/Tiltfile)

lo init project

Scaffold a project (clusters/, lok8s.yaml, .gitignore entries, one env file, optionally the first cluster spec) — files only, no network

lo init project [name] [flags]

Examples

  lo init project
  lo init project acme --env direnv
  lo init project --cluster demo.dev --driver lo

Options

      --cluster string          Also write the first cluster spec, clusters/<domain>/cluster.lok8s.yaml, for this domain
      --driver string           Driver of the --cluster spec: lo, kubeone, capi, kkp, kubehz-hosted (default "lo")
      --env string              Shell environment file to scaffold: mise (mise.toml), direnv (.envrc) or none — PATH only, no PATH_* pins (default "mise")
  -h, --help                    help for project
      --implementation string   Set spec.implementation.default in lok8s.yaml: go or bash (the file is created when missing; comments and other keys are kept)
  -p, --path string             Directory for the project (default: the working directory)

SEE ALSO

  • lo init - Scaffold service config (lok8s.yaml/services.yaml/Tiltfile)

lo init service

Scaffold a bare service (lok8s.yaml + services.yaml + Tiltfile)

lo init service [name] [flags]

Examples

  lo init service api
  lo init service worker --path services/worker

Options

  -n, --dry-run       The same as --plan
  -h, --help          help for service
  -p, --path string   Directory for the service (default: ./<name>)
      --plan          Print the screen as text and write nothing (works off a terminal)
  -y, --yes           Never ask: run with the values given (scripts, CI)

SEE ALSO

  • lo init - Scaffold service config (lok8s.yaml/services.yaml/Tiltfile)

lo init test

Scaffold a Playwright integration suite (tests/)

lo init test [flags]

Examples

  lo init test
  lo init test --path e2e --force

Options

  -n, --dry-run       The same as --plan
  -h, --help          help for test
  -p, --path string   Directory for the suite (default: ./tests)
      --plan          Print the screen as text and write nothing (works off a terminal)
  -y, --yes           Never ask: run with the values given (scripts, CI)

SEE ALSO

  • lo init - Scaffold service config (lok8s.yaml/services.yaml/Tiltfile)

lo kubeconfig

Print a domain kubeconfig (--oidc for kubelogin exec-plugin)

lo kubeconfig [flags]

Examples

  lo kubeconfig > .kubeconfig/kubehz-dev.yaml
  lo kubeconfig --oidc --domain kubehz.cloud
  lo kc --cluster-override kubehz.in.net

Options

      --cluster-override string   Override cluster domain for kubeconfig resolution
  -h, --help                      help for kubeconfig
  -o, --oidc count                Emit an OIDC (kubelogin exec-plugin) kubeconfig instead of the admin one

SEE ALSO

  • lo - lok8s - local dev orchestration

lo kubehz

kubehz platform integration

lo kubehz [flags]

Examples

  lo kubehz register
  lo kubehz status
  lo kubehz deploy --dry-run

Options

  -h, --help   help for kubehz

SEE ALSO

lo kubehz assess

Show the platform assessment + handover feasibility

lo kubehz assess [flags]

Examples

  lo kubehz assess

Options

  -h, --help   help for assess

SEE ALSO

lo kubehz claim

Place a dashboard-minted claim nonce for the agent to echo (mode 3)

lo kubehz claim --nonce <khzn_…> [flags]

Examples

  lo kubehz claim --nonce khzn_2f9c1e
  lo kubehz claim --nonce - < nonce.txt

Options

  -h, --help           help for claim
  -n, --nonce string   Claim-challenge nonce minted in the dashboard (khzn_…); '-' reads it from stdin, or set KUBEHZ_CLAIM_NONCE

SEE ALSO

lo kubehz claim-code

Print the one-time claim code to paste into the dashboard

lo kubehz claim-code [flags]

Examples

  lo kubehz claim-code

Options

  -h, --help   help for claim-code

SEE ALSO

lo kubehz deploy

Deploy the in-cluster agent (spec.kubehz.agent)

lo kubehz deploy [flags]

Examples

  lo kubehz deploy
  lo kubehz deploy --dry-run

Options

      --dry-run   Print the rendered manifests and apply nothing
  -h, --help      help for deploy

SEE ALSO

lo kubehz deregister

Remove cluster from kubehz

lo kubehz deregister [flags]

Examples

  lo kubehz deregister

Options

  -h, --help   help for deregister

SEE ALSO

lo kubehz handover

Control-plane handover (receive/preseed on the eject target)

lo kubehz handover [flags]

Examples

  lo kubehz handover receive --bundle handover.tar.gz
  lo kubehz handover preseed --bundle handover.tar.gz --node 10.0.0.12

Options

  -h, --help   help for handover

SEE ALSO

lo kubehz handover preseed

Pre-seed exported PKI onto a kubeone node before kubeone apply

lo kubehz handover preseed --bundle <path> --node <ip> [flags]

Examples

  lo kubehz handover preseed --bundle handover.tar.gz --node 10.0.0.12

Options

  -b, --bundle string        Export bundle: a directory or .tar.gz with the contract keys
  -h, --help                 help for preseed
      --known-hosts string   known_hosts file for the node's host key (default: ssh's own); a new host is recorded, a changed key fails
  -n, --node string          Target node address (kubeone node0) to place the PKI on
  -p, --port int             SSH port (default 22)
  -i, --ssh-key string       SSH private key file
  -u, --user string          SSH user (default "root")

SEE ALSO

lo kubehz handover receive

Restore an exported control plane onto THIS node (kubeadm path)

lo kubehz handover receive --bundle <path> [--snapshot <file>] [--single-node] [--force] [flags]

Examples

  lo kubehz handover receive --bundle handover.tar.gz
  lo kubehz handover receive --bundle handover.tar.gz --single-node

Options

  -b, --bundle string     Exported control-plane bundle (tar or directory)
      --cluster string    Cluster name to manage
  -h, --help              help for receive
      --single-node       Restore as a single control-plane node
  -s, --snapshot string   etcd snapshot file to restore (default: the bundle's snapshot-location)

SEE ALSO

lo kubehz join

Mint a node join ticket (hosting: shared)

lo kubehz join <node> [flags]

Examples

  lo kubehz join worker-1
  lo kubehz join worker-1 --print-token

Options

  -h, --help          help for join
      --print-token   Also print the plaintext ticket when a join script was written

SEE ALSO

lo kubehz node

Nodes you bring to a hosted control plane (join/remove/status)

lo kubehz node [flags]

Examples

  lo kubehz node join
  lo kubehz node status

Options

  -h, --help   help for node

SEE ALSO

lo kubehz node join

Join THIS machine to a hosted cluster (runs kubeadm join)

lo kubehz node join [flags]

Examples

  sudo lo kubehz node join
  lo kubehz node join --print-only

Options

  -c, --cluster-id string        Cluster id (cl-xxxxxxxx); default: the cluster of the active domain
  -h, --help                     help for join
      --kubelet-version string   Kubelet version to declare; default: read from this machine
  -n, --name string              Node name; default: the short hostname of this machine
      --node-ip string           Address other nodes reach this machine on (needed behind NAT)
  -p, --pool string              Static pool to join; default: the one pool every node of the cluster is in
      --print-only               Print the join command and run nothing

SEE ALSO

  • lo kubehz node - Nodes you bring to a hosted control plane (join/remove/status)

lo kubehz node remove

Remove one node from a hosted cluster and free its slot

lo kubehz node remove --name <node> [flags]

Examples

  lo kubehz node remove --name worker-1

Options

  -c, --cluster-id string   Cluster id (cl-xxxxxxxx); default: the cluster of the active domain
  -h, --help                help for remove
  -n, --name string         Node name to remove

SEE ALSO

  • lo kubehz node - Nodes you bring to a hosted control plane (join/remove/status)

lo kubehz node status

List the nodes you brought to a hosted cluster

lo kubehz node status [flags]

Examples

  lo kubehz node status

Options

  -c, --cluster-id string   Cluster id (cl-xxxxxxxx); default: the cluster of the active domain
  -h, --help                help for status

SEE ALSO

  • lo kubehz node - Nodes you bring to a hosted control plane (join/remove/status)

lo kubehz re-enroll

Re-enroll a regenerated in-cluster agent token with the platform

lo kubehz re-enroll [flags]

Examples

  lo kubehz re-enroll

Options

  -h, --help   help for re-enroll

SEE ALSO

lo kubehz register

Register cluster with kubehz

lo kubehz register [flags]

Examples

  lo kubehz register

Options

  -h, --help   help for register

SEE ALSO

lo kubehz status

Check kubehz registration status

lo kubehz status [flags]

Examples

  lo kubehz status

Options

  -h, --help   help for status

SEE ALSO

lo kustomize

Manage kustomize plugins (Go)

lo kustomize [flags]

Examples

  lo kustomize build
  lo kustomize list

Options

  -h, --help   help for kustomize

SEE ALSO

lo kustomize build

Compile all kustomize plugin binaries into .kustomize/

lo kustomize build [flags]

Examples

  lo kustomize build

Options

  -h, --help   help for build

SEE ALSO

lo kustomize clean

Remove built plugin binaries

lo kustomize clean [flags]

Examples

  lo kustomize clean

Options

  -h, --help   help for clean

SEE ALSO

lo kustomize list

List discoverable plugins under .kustomize/

lo kustomize list [flags]

Examples

  lo kustomize list

Options

  -h, --help   help for list

SEE ALSO

lo kustomize test

Run plugin unit + integration tests

lo kustomize test [flags]

Examples

  lo kustomize test

Options

  -h, --help   help for test

SEE ALSO

lo lint

Validate structure and specs

lo lint [flags]

Examples

  lo lint
  lo lint --domain kubehz.dev --notes

Options

      --format string   Finding format: text (default), editor (file:line: [level] message) or github (workflow commands, the default under GITHUB_ACTIONS off a terminal)
  -h, --help            help for lint
      --notes           Also print a [note] per spec key that equals its documented default (advisory; the exit code is unchanged)

SEE ALSO

  • lo - lok8s - local dev orchestration

lo mcp

Serve the lo commands as MCP tools (stdio or HTTP)

Synopsis

Serve the lo commands to AI agents and editors as MCP tools.

Every leaf command becomes one tool named lo_<path with underscores>: lo_status, lo_secrets_encrypt, lo_kubehz_join, lo_registry_up, ... Dispatchers (secrets, tilt, kubehz, ...) are traversed, not exposed. A tool call runs the same lo binary as a subprocess and returns its stdout, stderr and exit code.

Exposure policy — what an agent can call:

default readonly commands only (status, lint, audit, kubeconfig, secrets list, tilt status, ...) --allow-mutating + mutating, non-destructive commands (build, use, init, secrets encrypt, ...) --allow-destructive + destructive commands (up, down, deploy, destroy, tilt down, kubehz deregister, ...) and the --force flags; implies --allow-mutating

A command without a marker counts as mutating. Flags that carry a credential (token, secret, password, key, nonce, ...) are never exposed. A command that is not exposed is not registered, so it cannot be called. LO_MCP_ALLOW=mutating|destructive is the environment form of the opt-in, for editor configs (flags win).

Transports: 'start' serves stdio (what editors launch); 'serve' serves streamable HTTP on loopback — it has no authentication, keep it there. 'tools' prints the tool list a server would advertise.

Editor setup writes the launch command, the toolchain PATH and PATH_BASE into the editor's MCP config:

lo mcp claude enable # Claude Desktop lo mcp vscode enable # VS Code (Copilot agent mode) lo mcp cursor enable lo mcp claude enable --env LO_MCP_ALLOW=destructive

Examples

  lo mcp start
  lo mcp tools --allow-mutating
  lo mcp claude enable

Options

  -h, --help   help for mcp

SEE ALSO

lo mcp claude

Manage Claude Desktop MCP servers

Synopsis

Manage MCP server configuration for Claude Desktop

Examples

  lo mcp claude enable
  lo mcp claude list

Options

  -h, --help   help for claude

SEE ALSO

lo mcp claude disable

Remove server from Claude config

Synopsis

Remove this application from Claude Desktop MCP servers

lo mcp claude disable [flags]

Examples

  lo mcp claude disable

Options

      --config-path string   Path to Claude config file
  -h, --help                 help for disable
      --server-name string   Name of the MCP server to remove (default: derived from executable name)

SEE ALSO

lo mcp claude enable

Add server to Claude config

Synopsis

Add this application as an MCP server in Claude Desktop

lo mcp claude enable [flags]

Examples

  lo mcp claude enable
  lo mcp claude enable --env LO_MCP_ALLOW=destructive

Options

      --config-path string   Path to Claude config file
  -e, --env stringToString   Environment variables (e.g., --env KEY1=value1 --env KEY2=value2) (default [])
  -h, --help                 help for enable
      --log-level string     Log level (debug, info, warn, error)
      --server-name string   Name for the MCP server (default: derived from executable name)

SEE ALSO

lo mcp claude list

Show Claude MCP servers

Synopsis

Show all MCP servers configured in Claude Desktop

lo mcp claude list [flags]

Examples

  lo mcp claude list

Options

      --config-path string   Path to Claude config file
  -h, --help                 help for list

SEE ALSO

lo mcp cursor

Manage Cursor MCP servers

Synopsis

Manage MCP server configuration for Cursor

Examples

  lo mcp cursor enable
  lo mcp cursor list

Options

  -h, --help   help for cursor

SEE ALSO

lo mcp cursor disable

Remove server from Cursor config

Synopsis

Remove this application from Cursor MCP servers

lo mcp cursor disable [flags]

Examples

  lo mcp cursor disable

Options

      --config-path string   Path to Cursor config file
  -h, --help                 help for disable
      --server-name string   Name of the MCP server to remove (default: derived from executable name)
      --workspace            Remove from workspace settings (.cursor/mcp.json) instead of user settings

SEE ALSO

lo mcp cursor enable

Add server to Cursor config

Synopsis

Add this application as an MCP server in Cursor

lo mcp cursor enable [flags]

Examples

  lo mcp cursor enable
  lo mcp cursor enable --env LO_MCP_ALLOW=destructive

Options

      --config-path string   Path to Cursor config file
  -e, --env stringToString   Environment variables (e.g., --env KEY1=value1 --env KEY2=value2) (default [])
  -h, --help                 help for enable
      --log-level string     Log level (debug, info, warn, error)
      --server-name string   Name for the MCP server (default: derived from executable name)
      --workspace            Add to workspace settings (.cursor/mcp.json) instead of user settings

SEE ALSO

lo mcp cursor list

Show Cursor MCP servers

Synopsis

Show all MCP servers configured in Cursor

lo mcp cursor list [flags]

Examples

  lo mcp cursor list

Options

      --config-path string   Path to Cursor config file
  -h, --help                 help for list
      --workspace            List from workspace settings (.cursor/mcp.json) instead of user settings

SEE ALSO

lo mcp serve

Serve over streamable HTTP (loopback; no authentication)

lo mcp serve [flags]

Examples

  lo mcp serve
  lo mcp serve --port 8090 --allow-mutating

Options

      --allow-destructive   Also expose destructive commands (up, down, deploy, destroy, …) and --force/--force-recreate; implies --allow-mutating
      --allow-mutating      Also expose mutating, non-destructive commands (build, use, secrets encrypt, …)
  -h, --help                help for serve
      --host string         Address to listen on (default "127.0.0.1")
      --log-level string    Server log level on stderr (debug, info, warn, error) (default "info")
      --port int            Port to listen on (default 8080)

SEE ALSO

  • lo mcp - Serve the lo commands as MCP tools (stdio or HTTP)

lo mcp start

Serve over stdio (what editors and agents launch)

lo mcp start [flags]

Examples

  lo mcp start
  lo mcp start --allow-destructive

Options

      --allow-destructive   Also expose destructive commands (up, down, deploy, destroy, …) and --force/--force-recreate; implies --allow-mutating
      --allow-mutating      Also expose mutating, non-destructive commands (build, use, secrets encrypt, …)
  -h, --help                help for start
      --log-level string    Server log level on stderr (debug, info, warn, error) (default "info")

SEE ALSO

  • lo mcp - Serve the lo commands as MCP tools (stdio or HTTP)

lo mcp tools

Print the tools a server would expose

lo mcp tools [flags]

Examples

  lo mcp tools
  lo mcp tools --allow-destructive

Options

      --allow-destructive   Also expose destructive commands (up, down, deploy, destroy, …) and --force/--force-recreate; implies --allow-mutating
      --allow-mutating      Also expose mutating, non-destructive commands (build, use, secrets encrypt, …)
  -h, --help                help for tools
      --json                Print the full tool definitions (schemas, annotations) as JSON

SEE ALSO

  • lo mcp - Serve the lo commands as MCP tools (stdio or HTTP)

lo mcp vscode

Manage VSCode MCP servers

Synopsis

Manage MCP server configuration for Visual Studio Code

Examples

  lo mcp vscode enable
  lo mcp vscode list

Options

  -h, --help   help for vscode

SEE ALSO

lo mcp vscode disable

Remove server from VSCode config

Synopsis

Remove this application from VSCode MCP servers

lo mcp vscode disable [flags]

Examples

  lo mcp vscode disable

Options

      --config-path string   Path to VSCode config file
  -h, --help                 help for disable
      --server-name string   Name of the MCP server to remove (default: derived from executable name)
      --workspace            Remove from workspace settings (.vscode/mcp.json) instead of user settings

SEE ALSO

lo mcp vscode enable

Add server to VSCode config

Synopsis

Add this application as an MCP server in VSCode

lo mcp vscode enable [flags]

Examples

  lo mcp vscode enable
  lo mcp vscode enable --env LO_MCP_ALLOW=destructive

Options

      --config-path string   Path to VSCode config file
  -e, --env stringToString   Environment variables (e.g., --env KEY1=value1 --env KEY2=value2) (default [])
  -h, --help                 help for enable
      --log-level string     Log level (debug, info, warn, error)
      --server-name string   Name for the MCP server (default: derived from executable name)
      --workspace            Add to workspace settings (.vscode/mcp.json) instead of user settings

SEE ALSO

lo mcp vscode list

Show VSCode MCP servers

Synopsis

Show all MCP servers configured in VSCode

lo mcp vscode list [flags]

Examples

  lo mcp vscode list

Options

      --config-path string   Path to VSCode config file
  -h, --help                 help for list
      --workspace            List from workspace settings (.vscode/mcp.json) instead of user settings

SEE ALSO

lo provision

Provision a cluster (full lifecycle)

lo provision [flags]

Examples

  lo provision
  lo provision --domain kubehz.in.net --force
  lo provision --bootstrap

Options

  -b, --bootstrap   Re-apply spec.bootstrap only on an existing cluster (skip the infra reconcile)
  -h, --help        help for provision

SEE ALSO

  • lo - lok8s - local dev orchestration

lo recover

Rebuild a cluster from bare metal (disaster recovery)

lo recover [recover-domain] [flags]

Examples

  lo recover kubehz.in.net --dry-run
  lo recover kubehz.in.net
  lo recover kubehz.in.net --skip-rebuild

Options

      --dry-run        Preview the rebuild plan (reimages nothing) and stop before provision
  -h, --help           help for recover
      --skip-rebuild   Skip the bare-metal node rebuild — re-run provision + verify only

SEE ALSO

  • lo - lok8s - local dev orchestration

lo registry

Manage Docker registries

lo registry [flags]

Examples

  lo registry up
  lo registry status --shared

Options

  -h, --help     help for registry
  -S, --shared   Include shared mirrors (for clean/status)

SEE ALSO

lo registry clean

Clean up registries

lo registry clean [flags]

Examples

  lo registry clean
  lo registry clean --shared

Options

  -h, --help   help for clean
  -y, --yes    Answer the confirmation on a terminal (off a terminal there is none)

SEE ALSO

lo registry down

Spin down registries

lo registry down [flags]

Examples

  lo registry down

Options

  -h, --help   help for down

SEE ALSO

lo registry status

Check registry status

lo registry status [flags]

Examples

  lo registry status
  lo registry status --shared

Options

  -h, --help            help for status
  -o, --output string   Output format: text, json or yaml (default "text")

SEE ALSO

lo registry tls

The registry set's TLS certificate (docker volume)

lo registry tls [flags]

Examples

  lo registry tls status
  lo registry tls renew

Options

  -h, --help   help for tls

SEE ALSO

lo registry tls renew

Mint a new certificate into the volume and restart the registries

lo registry tls renew [flags]

Examples

  lo registry tls renew

Options

  -h, --help   help for renew

SEE ALSO

lo registry tls status

Show the certificate and what each registry mounts

lo registry tls status [flags]

Examples

  lo registry tls status

Options

  -h, --help   help for status

SEE ALSO

lo registry up

Spin up registries

lo registry up [flags]

Examples

  lo registry up

Options

  -h, --help   help for up

SEE ALSO

lo secrets

Manage secrets (encrypt/decrypt/set)

lo secrets [flags]

Examples

  lo secrets init
  lo secrets set --name db --namespace app dbUser <value>
  lo secrets encrypt

Options

  -h, --help   help for secrets

SEE ALSO

lo secrets add-key

Add an age recipient and re-key the store

lo secrets add-key <key> [flags]

Examples

  lo secrets add-key ~/.ssh/id_ed25519.pub
  lo secrets add-key age1<recipient> --all

Options

  -a, --all            Re-key every domain store, not just the current one
  -h, --help           help for add-key
      --skip-orphans   Proceed even if some .enc files have no decrypted twin

SEE ALSO

lo secrets allow

Approve bash: generators (re-compute .sha + .bash-allow)

lo secrets allow [flags]

Examples

  lo secrets allow

Options

  -h, --help   help for allow

SEE ALSO

lo secrets decrypt

Decrypt .enc files into plaintext cache

lo secrets decrypt [flags]

Examples

  lo secrets decrypt

Options

  -h, --help             help for decrypt
  -k, --ssh-key string   Path to SSH private key

SEE ALSO

lo secrets encrypt

Encrypt plaintext cache files for commit

lo secrets encrypt [flags]

Examples

  lo secrets encrypt

Options

  -h, --help          help for encrypt
  -n, --name string   Encrypt only this Secret's cache files (metadata.name); default is the whole store

SEE ALSO

lo secrets env

Emit export KEY=value lines for a cached secret

lo secrets env --name N [--namespace NS] [flags]

Examples

  eval "$(lo secrets env --name db --namespace app)"

Options

      --cluster string     Cluster name to manage
  -h, --help               help for env
  -n, --name string        Secret name
  -s, --namespace string   Namespace (default "default")

SEE ALSO

lo secrets init

Initialize SOPS/age encryption from SSH key

lo secrets init [flags]

Examples

  lo secrets init

Options

  -h, --help             help for init
  -k, --ssh-key string   Path to SSH public key

SEE ALSO

lo secrets list

List secrets

lo secrets list [flags]

Examples

  lo secrets list

Options

  -h, --help   help for list

SEE ALSO

lo secrets path

Resolve the secrets path for the current context

lo secrets path [flags]

Examples

  lo secrets path

Options

  -h, --help   help for path

SEE ALSO

lo secrets print

Print secret(s)

lo secrets print [pattern...] [flags]

Examples

  lo secrets print
  lo secrets print 'Secret.db.*'

Options

  -c, --copy       Copy secret(s) to clipboard (--only-one is implied)
  -h, --help       help for print
  -o, --only-one   Only print one secret (error if multiple matches)

SEE ALSO

lo secrets set

Write a literal value into the secret cache

lo secrets set [--name N] [--namespace NS] [--encrypt] <key> [value] [flags]

Examples

  lo secrets set --name db --namespace app dbUser <value>
  lo secrets set --name db dbUser - < value.txt
  lo secrets set --name db dbUser <value> --encrypt

Options

      --cluster string     Cluster name to manage
  -e, --encrypt            SOPS-encrypt this one file after writing (needs .sops.yaml)
  -h, --help               help for set
  -n, --name string        Secret name
  -s, --namespace string   Namespace (default "default")

SEE ALSO

lo status

Cluster health and status

lo status [flags]

Examples

  lo status
  lo status --domain kubehz.in.net

Options

  -h, --help            help for status
  -o, --output string   Output format: text, json or yaml (default "text")

SEE ALSO

  • lo - lok8s - local dev orchestration

lo tilt

Manage tilt cluster

lo tilt [flags]

Examples

  lo tilt up
  lo tilt ci --timeout 300s
  lo tilt down

Options

  -h, --help   help for tilt

SEE ALSO

lo tilt ci

Headless build+deploy+wait-ready (tilt ci), exits with real status

lo tilt ci [flags]

Examples

  lo tilt ci
  lo tilt ci --timeout 10m

Options

  -h, --help              help for ci
  -t, --timeout tilt ci   Max time to wait for readiness (e.g. 300s, 10m); passed to tilt ci

SEE ALSO

lo tilt down

Spin down tilt

lo tilt down [flags]

Examples

  lo tilt down

Options

  -h, --help   help for down

SEE ALSO

lo tilt preflight

Force-clear stuck-Terminating objects in the manifest on stdin

lo tilt preflight [flags]

Examples

  lo build && lo tilt preflight < clusters/kubehz.dev/artifacts.yaml
  lo tilt preflight --crds skip < artifacts.yaml

Options

  -a, --age string         Only clear objects terminating longer than this many seconds (default 30)
      --crd-allow string   Comma-separated CRD names the force policy may strip (empty = all)
  -c, --crds string        Stuck-CRD policy: drain (clear instance finalizers), skip, or force
  -h, --help               help for preflight

SEE ALSO

lo tilt restart

Restart tilt

lo tilt restart [flags]

Examples

  lo tilt restart

Options

  -h, --help   help for restart

SEE ALSO

lo tilt status

Check tilt status

lo tilt status [flags]

Examples

  lo tilt status

Options

  -h, --help   help for status

SEE ALSO

lo tilt up

Spin up tilt (interactive, backgrounded)

lo tilt up [flags]

Examples

  lo tilt up

Options

  -h, --help   help for up

SEE ALSO

lo toolchain

Install and verify the pinned project toolchain via b

lo toolchain [flags]

Examples

  lo toolchain install
  lo toolchain doctor

Options

  -h, --help   help for toolchain

SEE ALSO

lo toolchain doctor

Verify the b-managed toolchain against the pins

Synopsis

Print the toolchain section of lo doctor on its own: .bin/b, kustomize, the khelm ChartRenderer and the secrets.lok8s.dev Secret plugin, each against its pin. No marker and no flag gate it. Exit 1 when a tool this build execs is missing (lo core); lo-full only warns about the render tools.

It uses the project of the current shell (an exported PATH_BASE wins, else the nearest project above the working directory), like lo doctor. lo toolchain install resolves from the working directory only.

lo toolchain doctor [flags]

Examples

  lo toolchain doctor

Options

  -h, --help   help for doctor

SEE ALSO

  • lo toolchain - Install and verify the pinned project toolchain via b

lo toolchain install

Install the pinned toolchain via b

Synopsis

Provision a project's toolchain with b (github.com/fentas/b):

  1. .bin/b.yaml from the template pinned to this lo (kustomize v5.8.1, khelm v2.8.0, the secrets.lok8s.dev Secret plugin at this lo's version, plus kubectl; kind/tilt/mkcert for --groups local; kubeone/hcloud for cloud; argsh/yq/jq/envsubst/sops/ssh-to-age for bash, the runtime of the frozen bash implementation and the provider plugins, carried commented out). The bash tree itself is embedded in the binary. An existing b.yaml is never overwritten — a diff is printed instead.
  2. .gitignore entries for .bin/ (b.yaml + b.lock stay committed).
  3. b itself into .bin/b: the pinned release v4.18.7 tarball, downloaded over https to a temp file and verified against its published SHA-256 before anything is extracted (no curl | sh). GITHUB_TOKEN is passed through if set.
  4. .bin/b install — every binary in b.yaml lands in .bin/ (plugins under .kustomize/).

--dry-run prints each step without touching the tree or the network.

lo toolchain install [flags]

Examples

  lo toolchain install
  lo toolchain install --groups core,local,cloud
  lo toolchain install --dry-run

Options

  -n, --dry-run         Print what would be written, downloaded and run; touch nothing
      --groups string   Groups to activate (core,local,cloud,bash; core is implied) (default "core,local")
  -h, --help            help for install
  -p, --path string     Project directory (default: the nearest project root above the working directory, else the working directory)

SEE ALSO

  • lo toolchain - Install and verify the pinned project toolchain via b

lo trust

Trust the local dev CA (mkcert -install)

lo trust [flags]

Examples

  lo trust

Options

  -h, --help   help for trust

SEE ALSO

  • lo - lok8s - local dev orchestration

lo up

Start cluster

lo up [flags]

Examples

  lo up
  lo up --open-tilt
  lo up --ci --timeout 300s

Options

      --ci tilt ci        Headless: build+deploy+wait-ready via tilt ci, exit with real status (no TTY/browser)
  -h, --help              help for up
  -o, --open-tilt         Open Tilt in a browser (interactive mode only)
  -t, --timeout tilt ci   Readiness timeout for --ci (e.g. 300s, 10m); passed to tilt ci

SEE ALSO

  • lo - lok8s - local dev orchestration

lo use

Set/show active domain

lo use [domain] [flags]

Examples

  lo use
  lo use kubehz.dev

Options

  -h, --help            help for use
  -o, --output string   Output format: text, json or yaml (default "text")

SEE ALSO

  • lo - lok8s - local dev orchestration

lo version

Print lok8s + toolchain versions

lo version [flags]

Examples

  lo version
  lo --version

Options

  -h, --help            help for version
  -o, --output string   Output format: text, json or yaml (default "text")

SEE ALSO

  • lo - lok8s - local dev orchestration

Released under the MIT License.