Contributor Guide

Operator Development

The Netchecks operator is written in Rust using kube-rs. The probe CLI is written in Python.


Prerequisites

Start a test cluster

kind create cluster --name netchecks-test

Build the Docker images

Build both the probe and operator images locally:

docker build -t ghcr.io/hardbyte/netchecks:local .
docker build -t ghcr.io/hardbyte/netchecks-operator:local operator/

Load them into Kind:

kind load docker-image ghcr.io/hardbyte/netchecks:local --name netchecks-test
kind load docker-image ghcr.io/hardbyte/netchecks-operator:local --name netchecks-test

Install the operator via Helm

helm dependency build operator/charts/netchecks
helm upgrade --install netchecks-operator operator/charts/netchecks/ \
  -n netchecks --create-namespace \
  --set operator.image.tag=local \
  --set netchecks.image.tag=local

Building the Rust operator

cd operator
cargo build --workspace
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings

Running the Python probe tests

uv run pytest

Cleanup

kind delete cluster --name netchecks-test
Previous
How to contribute