Skip to content

Latest commit

 

History

History
53 lines (37 loc) · 1.73 KB

development.md

File metadata and controls

53 lines (37 loc) · 1.73 KB

Development

This doc explains how to set up a development environment for Numaflow.

Install required tools

  1. go 1.19+.
  2. git.
  3. kubectl.
  4. protoc 3.19 for compiling protocol buffers.
  5. pandoc 2.17 for generating API markdown.
  6. Node.js® for running the UI.
  7. yarn.
  8. A local Kubernetes cluster for development usage, pick either one of k3d, kind, or minikube.

Example: Create a local Kubernetes cluster with kind

# 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

Useful Commands

  • make start Build the source code, image, and install the Numaflow controller in the numaflow-system namespace.

  • make build Binaries are placed in ./dist.

  • make manifests Regenerate all the manifests after making any base manifest changes. This is also covered by make codegen.

  • make codegen Run after making changes to ./pkg/api/.

  • make test Run unit tests.

  • make image Build container image, and import it to k3d, kind, or minikube cluster if corresponding KUBECONFIG 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.