6. Argo-cd

6.1. Install ArgoCD to manage the Graphistry Helm Charts

git clone https://github.com/graphistry/graphistry-helm && cd graphistry-helm
cd graphistry-helm/charts/argo-cd && helm dep build
helm upgrade -i argo-cd ./charts/argo-cd --namespace argo-cd --create-namespace

6.2. Accessing the Web UI

The Helm chart does not install an Ingress by default, to access the Web UI we have to port-forward to the argocd-server service

kubectl port-forward svc/argo-cd-argocd-server 8080:443 -n argo-cd

6.3. Starting ArgoCDs managing of the apps

To deploy our “app of apps” setup in argo, we need to create an Argo CD application. We created these application manifests so next is applying them to the cluster

helm template charts/argo-cd/apps/ | kubectl apply -f -

6.4. Letting Argo CD manage itself

We previously installed Argo CD with helm install which means that updates to Argo CD itself would require us to run helm upgrade manually. To avoid doing this we can create an Application resource for Argo CD and let it manage itself. With this approach any updates to our Argo CD deployment can be made by modifying files in our Git repository rather than running manual commands. To let Argo CD manage itself, we need to create an Argo CD application. We can do this by creating an application manifest and applying it to the cluster

kubectl delete secret -l owner=helm,name=argo-cd

6.5. Configuration

The following table lists the configurable parameters of the Argo-cd chart and their default values.

Parameter

Description

Default

argo-cd.dex.enabled

false

argo-cd.server.extraArgs

["--insecure", "--rootpath=/argo", "--basehref=/argo"]

argo-cd.server.config.repositories

"- type: helm\n  name: argo-cd\n  url: https://argoproj.github.io/argo-helm\n"

For more information on ArgoCD visit the documentation: ArgoCD Documentation