Skip to main content
Knowledge Base

How to deploy argocd using the Gruntwork EKS cluster modules?

Answer

I'm trying to deploy an ArgoCD instance in our ref-infrastructure-live using either their: - [helm chart](https://github.com/argoproj/argo-helm/tree/main/charts/argo-cd) - [their docker image](https://hub.docker.com/r/argoproj/argocd) I'm wondering what the correct way to deploy this would be. I successfully deployed it using a custom `infrastructure-module` of type `helm_release`, and it worked, but I could never get access to the server without opening the security group manually. I assumed I should be using ECS or K8s frontend applications, both of which were taken from here: https://github.com/gruntwork-io/terraform-aws-service-catalog/tree/master/examples/for-production/infrastructure-live/dev/us-west-2/dev/services. I've hit more errors using the ECS backend, and the K8's backend than with my custom infrastructure-module, so I'm wondering what the correct method should be? I can give more info on the specific errors I've been hitting, once I know which method I should be targeting. --- <ins datetime="2022-06-13T19:35:02Z"> <p><a href="https://support.gruntwork.io/hc/requests/108761">Tracked in ticket #108761</a></p> </ins>

We don't offer support for Argo CD specifically yet, but we can provide some general pointers here. The main issue is that the `Ingress` resource is not configured with the proper annotations to be picked up by the ALB Ingress Controller, and is thus not mapping to an ALB that exposes access to the service outside the cluster. You want to find the corresponding input value in the helm chart for annotating the `Ingress` resource, and then apply the [same annotations as k8s-service](https://github.com/gruntwork-io/terraform-aws-service-catalog/blob/master/modules/services/k8s-service/main.tf#L153) in `expose_type = "external"` mode. You can also refer to the [AWS Load Balancer Controller documentation](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/guide/ingress/annotations/) for other annotations you can apply to further customize the ALB.