Skip to content

Developer Local Development

This page is for contributors working from this repository. Operator users installing released artifacts should start with Installation.

Install pinned tools with mise:

mise trust
mise install

There is intentionally no Makefile. Use task <task>; task definitions live in Taskfile.yml.

Run the operator locally in kind

task kind-up
task cert-manager-up
task dev

Skaffold builds the manager image, renders config/default with Kustomize, deploys it with kubectl, tails controller logs, and exposes the health endpoint on port 8081.

task cert-manager-up is only for the local development cluster created by this repository. Do not use it as end-user installation guidance for production clusters.

Set KIND_NODE_IMAGE before task kind-up to create the local cluster with a different kind node image.

Render samples

task samples

Apply samples only after replacing placeholder values:

kubectl apply -k config/samples

Run tests

Fast loop:

task test-unit

Full local verification:

task test
task lint
task build
task samples
task render-default
task chart-lint
task chart-template

Work on documentation

Build the documentation site:

task docs-build

Serve it locally:

task docs-serve

The local server listens on 127.0.0.1:8000 unless MKDOCS_DEV_ADDR is set.