title: Developer Guide keywords:
This document walks through how you can set up your development environment to contribute to APISIX Ingress controller.
Before you get started make sure you have:
go mod download to download the required modules.:::tip
If you are in China, you can speed up the downloads by setting GOPROXY to https://goproxy.cn.
:::
To install the CRD and Gateway API, run the following commands:
make install
To build APISIX Ingress controller, run the command below on the root of the project:
make build
Now you can run it by:
# for ARM64 architecture, use the following command: # ./bin/apisix-ingress-controller_arm64 version ./bin/apisix-ingress-controller_amd64 version
To build a Docker image for APISIX Ingress controller, you can use the following command:
make build-image IMG=apache/apisix-ingress-controller:dev
To run unit tests:
make unit-test
To run end-to-end tests, you need to install kind.
Launch a kind cluster with the following command:
make kind-up
To run end-to-end e2e-tests against any changes, you need to load the built Docker images into the Kubernetes cluster:
# build docker image for APISIX Ingress controller make build-image # load the image into kind cluster make kind-load-images
Currently, we use Kind version 0.26.0 and Kubernetes version 1.26+ for running the tests.
make e2e-test