This controller os an ArgoCD addon that accurately tracks last commits that actually changed the application (Change Revision). It is usefull when several Applications are looking at different paths at the same repository/branch (monorepos).
Please see Proposal for project motivation, architecture and description the program functionality.
This is a newly created Argoproj-Labs project. It is WIP and still is not production ready, does not have working tests, CI, release process, etc.
USE AT YOUR OWN RISK!
The controller should be installed into the namespace of an
existing ArgoCD instance (the argocd
namespace in most cases).
One quick way to try it is to use command like this:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj-labs/argocd-monorepo-controller/refs/heads/main/manifests/install.yaml
Or use kustomize
to install kustomization from
https://github.com/argoproj-labs/argocd-monorepo-controller/tree/main/manifests
See sample triggers and templates in samples/notifications.
The project is based on essencially the same Makefile and other Argocd infrastructure, so Argocd Developer Documentation can be currently used.
One quick way to build and run it locally is:
kubectl config set-context --current --namespace=argocd # set current context to the argocd namespace
make cli-local # build the program binary
make run # uses goreman to both monorepo controller and its repo-server
You can reach the developers via the following channels:
- Q & A : Github Discussions [TBD]
- Chat : The monorepo-controller Slack channel [TBD]
- Github Issues