Skip to content

Provide cluster API clusters to Argo CD.

License

Notifications You must be signed in to change notification settings

superorbital/capargo

Repository files navigation

capargo

Automatically register any Cluster API cluster in your local ArgoCD instance.

The capargo controller (Cluster API for ArgoCD) performs the tedious task of adding a new Cluster API cluster in the ArgoCD installation that's running on the same cluster. This allows for a seamless experience between the creation of a new cluster, and the cluster having all the necessary workloads installed and maintained by ArgoCD

Installation

TODO

Development

Pre-requisites

You will need the following tools installed in your computer for local development purposes:

For testing your changes, you will additionally need:

Building

To build the binary, simply run:

task build

To build the Docker image, run:

task build-image

Testing

For testing changes, a Kind cluster with all the necessary components can be bootstrapped by running the following task at the root of the repo:

task create-cluster

This will create the Kind cluster, a local container registry, and install ArgoCD and Cluster API + Cluster API Provider vCluster (CAPV).

After this is done, you can retrieve the kubeconfig for the cluster using the command

task get-kubeconfig

which will create a kind-cluster.kubeconfig file that you can use to talk to your cluster.

You will need to push your image of capargo to the local container registry:

docker push localhost:5001/superorbital/capargo:local

After which, you can run the demo script that will create a CAPV cluster for your capargo Pod to interact with.

task install-demo

Cleanup

To clean up the Kind cluster and the local registry:

task cleanup-cluster