1.9 KiB
Development
Note: Please take a look at https://fluxcd.io/contributing/flux/ to find out about how to contribute to Flux and how to interact with the Flux Development team.
Installing required dependencies
There are a number of dependencies required to be able to run the controller and its test suite locally:
In addition to the above, the following dependencies are also used by some of the make targets:
controller-gen(v0.7.0)gen-crd-api-reference-docs(v0.3.0)setup-envtest(latest)
If any of the above dependencies are not present on your system, the first invocation of a make target that requires them will install them.
How to run the test suite
Prerequisites:
- Go >= 1.17
You can run the test suite by simply doing:
make test
How to run the controller locally
Install the controller's CRDs on your test cluster:
make install
Run the controller locally:
make run
How to install the controller
Building the container image
Set the name of the container image to be created from the source code. This will be used when building, pushing and referring to the image on YAML files:
export IMG=registry-path/notification-controller:latest
Build the container image, tagging it as $(IMG):
make docker-build
Push the image into the repository:
make docker-push
Note: make docker-build will build an image for the amd64 architecture.
Deploying into a cluster
Deploy notification-controller into the cluster that is configured in the local kubeconfig file (i.e. ~/.kube/config):
make deploy