This doc explains how to set up a development environment for NumaFlow.
go
: 1.17+.git
: For source control.kubectl
: For managing development environments.protoc
: For compiling protocol buffers.k3d
for local development, if needed
# Create a cluster with default name k3s-default
k3d cluster create -i rancher/k3s:v1.21.7-k3s1
# Get kubeconfig for the cluster
k3d kubeconfig get k3s-default
-
make build
Binaries are placed in./dist
. -
make codegen
Run after making changes to./pkg/api/
Can we add a Makefile rule to do this automatically? -
make test
Run unit tests. -
make image
Build conatiner image, and import it tok3d
cluster if correspondingkubeconfig
is sourced. -
make start
Build the source code, image, and install the Numa controller in thenumaflow-system
namespace.