Developing¶
Requirements¶
Getting started to develop Argo CD Image Updater shouldn't be too hard. All that is required is a simple build toolchain, consisting of:
- Golang v1.14
- GNU make
- Docker (for building images, optional)
- Kustomize (for building K8s manifests, optional)
Makefile targets¶
Most steps in the development process are scripted in the Makefile
, the most
important targets are:
-
all
- this is the default target, and will build theargocd-image-updater
binary. -
lint
- this will rungolangci-lint
and ensure code is linted correctly. -
test
- this will run all the unit tests -
image
- this will build the Docker image -
manifests
- this will build the installation manifests for Kubernetes from the Kustomize sources
Windows Developer Tips¶
If you are running the cmd shell and are running into issues running make all
, consider using Git bash.
Sending Pull Requests¶
To send a pull request, simply fork the GitHub repository to your GitHub account, create a new branch, commit & push your changes and then send the PR over for review.
When developing new features or fixing bugs, please make sure that your code is accompanied by appropriate unit tests. If you are fixing a bug, please also include a unit test for that specific bug.
Also, please make sure that your code is correctly linted.