Contains setup for base infrastructure including VPC, EKS cluster + add-ons.
To deploy cluster run:
make apply
Note: You will need to supply the domain name of an existing Route53 hosted zone to use when exposing services deployed to the cluster.
and to teardown run:
make destroy
Name | Purpose |
---|---|
GITHUB_TOKEN |
Needed to be able to create a deploy key within the repository to allow ArgoCD access to it. |
AWS_ |
AWS Credentials must be available. Either in the form of environment variables or via a credentials file. |
Once applied, ArgoCD should be available at https://argocd.${route53_domain_name}.
The admin password can be retrieved via the following command:
aws secretsmanager --region eu-north-1 get-secret-value --secret-id argocd | jq -r .SecretString
If there you have issues connecting to the ArgoCD UI then port-forward the service via the command below, log in via https://loclhost:8080 and check that all applications have synced successfully.
kubectl port-forward svc/argo-cd-argocd-server -n argocd 8080:443
Name | Version |
---|---|
terraform | >= 1.0 |
aws | ~> 4.0 |
bcrypt | >= 0.1.2 |
github | ~> 5.0 |
kubectl | >= 1.14 |
kubernetes | ~> 2.0 |
tls | ~> 4.0 |
Name | Description | Type | Default | Required |
---|---|---|---|---|
argocd_helm_version | Version of the ArgoCD Helm chart to deploy | string |
"5.29.1" |
no |
cloudwatch_log_group_retention_in_days | Number of days to retain log events. Default retention - 90 days | number |
1 |
no |
cluster_version | Kubernetes <major>.<minor> version to use for the EKS cluster |
string |
"1.26" |
no |
github_user | Github Username - used to correctly set the URL of the repository containing the application manifests. | string |
"onematchfox" |
no |
num_azs | Number of AZs to deploy VPC and cluster to. | number |
2 |
no |
route53_domain_name | Name of Route53 domain to use when exposing resources in the cluster | string |
n/a | yes |
vpc_cidr | CIDR block for VPC to create | string |
"10.0.0.0/20" |
no |
Name | Description |
---|---|
argocd_admin_password | n/a |
configure_kubectl | Configure kubectl: make sure you're logged in with the correct AWS profile and run the following command to update your kubeconfig |