Skip to content

Terraform module for deploying Kubernetes Argo CD and Argo Rollouts inside a pre-existing EKS cluster.

License

Notifications You must be signed in to change notification settings

DNXLabs/terraform-aws-eks-argocd

Repository files navigation

terraform-aws-eks-argocd

Lint Status LICENSE

Terraform module for deploying Kubernetes Argo CD and Argo Rollouts inside a pre-existing EKS cluster.

Usage

module "argocd" {
  source = "git::https://github.com/DNXLabs/terraform-aws-eks-argocd.git?ref=0.1.0"

  enabled = true
}

See more examples of usage.

Login

The initial password is autogenerated with the pod name of the ArgoCD API server:

ARGO_PWD=`kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d`

In order to access the Argo CD server URL, we are going to use the kubectl port-forward command to access the application.

kubectl port-forward --address 0.0.0.0 -n argocd service/argo-cd-argocd-server 8001:443

export ARGOCD_SERVER=kubectl get svc argocd-server -n argocd -o json | jq --raw-output .status.loadBalancer.ingress[0].hostname

Using admin as login and the autogenerated password:

argocd login localhost:8001 --username admin --password $ARGO_PWD --insecure

You should get as an output:

'admin' logged in successfully

Requirements

Name Version
terraform >= 0.13
aws >= 3.13, < 5.41
helm >= 1.0, < 3.0
kubernetes >= 1.10.0, < 3.0.0

Providers

Name Version
helm >= 1.0, < 3.0
kubernetes >= 1.10.0, < 3.0.0

Inputs

Name Description Type Default Required
create_namespace Whether to create Kubernetes namespace with name defined by namespace. bool true no
enabled Variable indicating whether deployment is enabled. bool true no
helm_chart_repo Argo CD repository name. string "https://argoproj.github.io/argo-helm" no
helm_services n/a list
[
{
"chart_version": "3.26.12",
"name": "argo-cd",
"release_name": "argo-cd",
"settings": {}
},
{
"chart_version": "2.5.0",
"name": "argo-rollouts",
"release_name": "argo-rollouts",
"settings": {}
}
]
no
mod_dependency Dependence variable binds all AWS resources allocated by this module, dependent modules reference this variable. any null no
namespace Kubernetes namespace to deploy Argo CD Helm chart. string "argocd" no
settings Additional settings which will be passed to the Helm chart values. map {} no

Outputs

No output.

Authors

Module managed by DNX Solutions.

License

Apache 2 Licensed. See LICENSE for full details.