This doc explains how to set up a development environment for Numaflow.
go
1.19+.git
.kubectl
.protoc
3.19 for compiling protocol buffers.pandoc
2.17 for generating API markdown.Node.js®
for running the UI.yarn
.- A local Kubernetes cluster for development usage, pick either one of
k3d
,kind
, orminikube
.
# Create a cluster with default name k3s-default
k3d cluster create -i rancher/k3s:v1.24.4-k3s1
# Get kubeconfig for the cluster
k3d kubeconfig get k3s-default
-
make start
Build the source code, image, and install the Numaflow controller in thenumaflow-system
namespace. -
make build
Binaries are placed in./dist
. -
make codegen
Run after making changes to./pkg/api/
. -
make test
Run unit tests. -
make image
Build container image, and import it tok3d
,kind
, orminikube
cluster if correspondingkubeconfig
is sourced. -
make docs
Convert the docs to Github pages, check if there's any error. -
make docs-serve
Start an HTTP server on your local to host the docs generated Github pages.