Developing for NGINX Ingress Controller ¶
This document explains how to get started with developing for NGINX Ingress controller.
Prerequisites ¶
Install Go 1.14 or later.
Note
The project uses Go Modules
Install Docker (v19.03.0 or later with experimental feature on)
Important
The majority of make tasks run as docker containers
Quick Start ¶
- Fork the repository
- Clone the repository to any location in your work station
- Add a
GO111MODULE
environment variable withexport GO111MODULE=on
- Run
go mod download
to install dependencies
Local build ¶
Start a local Kubernetes cluster using kind, build and deploy the ingress controller
make dev-env
+ Getting Started - NGINX Ingress Controller NGINX Ingress Controller Getting Started
Developing for NGINX Ingress Controller ¶
This document explains how to get started with developing for NGINX Ingress controller.
Prerequisites ¶
Install Go 1.14 or later.
Note
The project uses Go Modules
Install Docker (v19.03.0 or later with experimental feature on)
Important
The majority of make tasks run as docker containers
Quick Start ¶
- Fork the repository
- Clone the repository to any location in your work station
- Add a
GO111MODULE
environment variable with export GO111MODULE=on
- Run
go mod download
to install dependencies
Local build ¶
Start a local Kubernetes cluster using kind, build and deploy the ingress controller
make dev-env
- If you are working on the v1.x.x version of this controller, and you want to create a cluster with kubernetes version 1.22, then please visit the documentation for kind, and look for how to set a custom image for the kind node (image: kindest/node...), in the kind config file. Testing ¶
Run go unit tests
make test
Run unit-tests for lua code
make lua-test
Lua tests are located in the directory rootfs/etc/nginx/lua/test
Important
Test files must follow the naming convention <mytest>_test.lua
or it will be ignored
Run e2e test suite
make kind-e2e-test
@@ -8,7 +8,7 @@
make build image
and then publish such version with
docker push $REGISTRY/controller:$TAG
-