README
Requirements
| Name | Version |
|---|---|
| terraform | >= 1.9.0 |
| archive | ~> 2.7.0 |
| aws | >= 5.62.0, < 6.0.0 |
| helm | ~> 2.11.0 |
| kubectl | ~> 1.19.0 |
| kubernetes | ~> 2.24.0 |
| random | ~> 3.7.0 |
Providers
| Name | Version |
|---|---|
| archive | 2.7.1 |
| aws | 5.100.0 |
| helm | 2.11.0 |
| kubectl | 1.19.0 |
| kubernetes | 2.24.0 |
| random | 3.7.2 |
Modules
| Name | Source | Version |
|---|---|---|
| cert_manager_irsa | git::https://github.com/terraform-aws-modules/terraform-aws-iam.git//modules/iam-role-for-service-accounts-eks | e20e0b9a42084bbc885fd5abb18b8744810bd567 |
| external_dns_irsa | git::https://github.com/terraform-aws-modules/terraform-aws-iam.git//modules/iam-role-for-service-accounts-eks | e20e0b9a42084bbc885fd5abb18b8744810bd567 |
| karpenter | git::https://github.com/terraform-aws-modules/terraform-aws-eks.git//modules/karpenter | 8a0efdbbc84180a26e0bacfd2b6fcfceac53b3b6 |
Resources
Inputs
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| AWS_ACCESS_KEY_ID | AWS access key associated with an IAM account | string | n/a | yes |
| AWS_PROFILE | AWS Profile that resources are created in | string | "default" | no |
| AWS_REGION | Target AWS region | string | "eu-west-2" | no |
| AWS_SECRET_ACCESS_KEY | AWS secret key associated with the access key | string | n/a | yes |
| AWS_SESSION_TOKEN | Session token for temporary security credentials from AWS STS | string | "" | no |
| common_tags | Common tags associated to resources created | map(string) | { "Environment": "dev", "Project": "radar-base" } | no |
| docker_hub_access_token | Docker Hub access token for ECR pull through cache | string | n/a | yes |
| docker_hub_username | Docker Hub username for ECR pull through cache | string | n/a | yes |
| domain_name | Pair of top level domain and hosted zone ID for deployed applications | map(string) | {} | no |
| eks_cluster_name | EKS cluster name | string | n/a | yes |
| enable_ecr_ptc | Do you need ECR pull-through cache? [true, false] | bool | n/a | yes |
| enable_eip | Do you need EIP? [true, false] | bool | n/a | yes |
| enable_karpenter | Do you need Karpenter? [true, false] | bool | n/a | yes |
| enable_metrics | Do you need Metrics Server? [true, false] | bool | n/a | yes |
| enable_msk | Do you need MSK? [true, false] | bool | n/a | yes |
| enable_msk_logging | Do you need logging on MSK brokers? [true, false] | bool | n/a | yes |
| enable_rds | Do you need RDS? [true, false] | bool | n/a | yes |
| enable_rds_multi_az | Do you need RDS Multi-AZ? [true, false] | bool | n/a | yes |
| enable_route53 | Do you need Route53? [true, false] | bool | n/a | yes |
| enable_s3 | Do you need S3? [true, false] | bool | n/a | yes |
| enable_ses | Do you need SES? [true, false] | bool | n/a | yes |
| environment | Environment name | string | "dev" | no |
| headlamp_version | Version of the Headlamp | string | "0.43.0" | no |
| kafka_version | Version of the Kafka to be used for MSK | string | "3.9.x" | no |
| karpenter_ami_version_alias | Selector alias for the AMI version used by Karpenter EC2 node class | string | "al2023@latest" | no |
| karpenter_node_pools | Configuration for the Karpenter node pool(s) with each key being the node pool name | map(object({ architecture = list(string) os = list(string) instance_capacity_type = list(string) instance_category = list(string) instance_cpu = list(string) })) | {} | no |
| karpenter_version | n/a | string | "1.3.6" | no |
| karpenter_volume_size | EBS data volume size for Karpenter nodes | string | "40Gi" | no |
| karpenter_volume_type | EBS volume type for Karpenter nodes | string | "gp3" | no |
| metrics_server_version | Version of the Metrics Server | string | "3.12.1" | no |
| postgres_read_replicas | Number of PostgreSQL read replicas if needed | number | 0 | no |
| postgres_version | Version of the PostgreSQL to be used for RDS | string | "14.22" | no |
| radar_postgres_password | Password for the PostgreSQL database used by Radar components | string | n/a | yes |
| ses_bounce_destinations | List of email addresses for receiving bounced email notifications | list(string) | [] | no |
| with_dmz_pods | Whether or not to utilise the DMZ node group if it exists | bool | false | no |