Skip to content

argoproj-labs/argocd-monorepo-controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Argo Monorepo Controller

Documentation Status

What is Argo Monorepo Controller?

This controller is an ArgoCD addon that accurately tracks last commits that actually changed the application (Change Revision). It is mostly usefull when several Applications are looking at different paths at the same repository/branch (monorepos) .

Documentation

To learn about the monorepo controller please go to the Project documentation.

Please see also the original Proposal for project motivation, overall architecture and description the program functionality.

What is its development status?

This is a newly created Argoproj-Labs project. It is WIP and it may not be fully production ready yet.

USE AT YOUR OWN RISK!

Installation

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

Configuring notifications

See sample triggers and templates in samples/notifications.

Development

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

Community

You can reach the developers via:

FAQ

  • Q: Why call it "Monorepo Controller"? It’s not just for monorepos! This issue can happen anytime another commit lands during the polling period, even if the file is not related to the generation of Application manifests.

    A: Good point! We picked the name because it's catchy and easy to remember. It also reflects the scenario where users encounter this problem most often: working within a monorepo.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •