This doc explains how to set up a development environment for Numaflow.
go1.20+.git.kubectl.protoc3.19 for compiling protocol buffers.pandoc2.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.
# Install kind on macOS
brew install kind
# Create a cluster with default name kind
kind create cluster
# Get kubeconfig for the cluster
kind export kubeconfig-
make startBuild the source code, image, and install the Numaflow controller in thenumaflow-systemnamespace. -
make buildBinaries are placed in./dist. -
make manifestsRegenerate all the manifests after making any base manifest changes. This is also covered bymake codegen. -
make codegenRun after making changes to./pkg/api/. -
make testRun unit tests. -
make imageBuild container image, and import it tok3d,kind, orminikubecluster if correspondingKUBECONFIGis sourced. -
make docsConvert the docs to Github pages, check if there's any error. -
make docs-serveStart an HTTP server on your local to host the docs generated Github pages.