aws-ia
terraform-aws-eks-blueprints-addons
HCL

Terraform module which provisions addons on Amazon EKS clusters

Last updated Jul 7, 2026
396
Stars
186
Forks
17
Issues
0
Stars/day
Attention Score
87
Language breakdown
HCL 100.0%
Files click to expand
README

Amazon EKS Blueprints Addons

Terraform module to deploy Kubernetes addons on Amazon EKS clusters.

Usage

module "eksblueprintsaddons" {
  source = "aws-ia/eks-blueprints-addons/aws"
  version = "~> 1.0" #ensure to update this to the latest/desired version

clustername = module.eks.clustername clusterendpoint = module.eks.clusterendpoint clusterversion = module.eks.clusterversion oidcproviderarn = module.eks.oidcproviderarn

eks_addons = { aws-ebs-csi-driver = { most_recent = true } coredns = { most_recent = true } vpc-cni = { most_recent = true } kube-proxy = { most_recent = true } }

enableawsloadbalancercontroller = true enableclusterproportional_autoscaler = true enable_karpenter = true enablekubeprometheus_stack = true enablemetricsserver = true enableexternaldns = true enablecertmanager = true certmanagerroute53hostedzone_arns = ["arn:aws:route53:::hostedzone/XXXXXXXXXXXXX"]

tags = { Environment = "dev" } }

module "eks" { source = "terraform-aws-modules/eks/aws"

cluster_name = "my-cluster" cluster_version = "1.29"

... truncated for brevity }

Support & Feedback

[!IMPORTANT]
EKS Blueprints for Terraform is maintained by AWS Solution Architects. It is not part of an AWS
service and support is provided as a best-effort by the EKS Blueprints community. To provide feedback,
please use the issues templates
provided. If you are interested in contributing to EKS Blueprints, see the
Contribution guide.

Requirements

| Name | Version | |------|---------| | terraform | >= 1.3.2 | | aws | >= 5.0 | | helm | >= 3.0 | | kubernetes | >= 2.20 | | random | >= 3.6 | | time | >= 0.9 |

Providers

| Name | Version | |------|---------| | aws | >= 5.0 | | helm | >= 3.0 | | kubernetes | >= 2.20 | | random | >= 3.6 | | time | >= 0.9 |

Modules

| Name | Source | Version | |------|--------|---------| | argo\_events | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | argo\_rollouts | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | argo\_workflows | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | argocd | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | aws\cloudwatch\metrics | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | aws\efs\csi\_driver | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | aws\for\fluentbit | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | aws\fsx\csi\_driver | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | aws\gateway\api\_controller | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | aws\load\balancer\_controller | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | aws\node\termination\_handler | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | aws\node\termination\handler\sqs | terraform-aws-modules/sqs/aws | 4.0.1 | | aws\privateca\issuer | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | bottlerocket\_shadow | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | bottlerocket\update\operator | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | cert\_manager | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | cluster\_autoscaler | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | cluster\proportional\autoscaler | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | external\_dns | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | external\_secrets | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | gatekeeper | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | ingress\_nginx | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | karpenter | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | karpenter\_sqs | terraform-aws-modules/sqs/aws | 4.0.1 | | kube\prometheus\stack | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | metrics\_server | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | secrets\store\csi\_driver | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | secrets\store\csi\driver\provider\_aws | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | velero | aws-ia/eks-blueprints-addon/aws | 1.3.0 | | vpa | aws-ia/eks-blueprints-addon/aws | 1.3.0 |

Resources

| Name | Type | |------|------| | awsautoscalinggrouptag.awsnodetermination_handler | resource | | awsautoscalinglifecyclehook.awsnodetermination_handler | resource | | awscloudformationstack.usage_telemetry | resource | | awscloudwatcheventrule.awsnodetermination_handler | resource | | awscloudwatcheventrule.karpenter | resource | | awscloudwatcheventtarget.awsnodetermination_handler | resource | | awscloudwatcheventtarget.karpenter | resource | | awscloudwatchloggroup.awsforfluentbit | resource | | awscloudwatchloggroup.fargate_fluentbit | resource | | awseksaddon.this | resource | | awsiaminstanceprofile.karpenter | resource | | awsiampolicy.awsloadbalancercontrolleraga | resource | | awsiampolicy.fargate_fluentbit | resource | | awsiamrole.karpenter | resource | | awsiamrolepolicyattachment.additional | resource | | awsiamrolepolicyattachment.awsloadbalancercontrolleraga | resource | | awsiamrolepolicyattachment.karpenter | resource | | helmrelease.this | resource | | kubernetesconfigmapv1.aws_logging | resource | | kubernetesconfigmapv1data.awsforfluentbit_containerinsights | resource | | kubernetesnamespacev1.aws_observability | resource | | randombytes.this | resource | | timesleep.this | resource | | awscalleridentity.current | data source | | awseksaddonversion.this | data source | | awsiampolicydocument.awsefscsi_driver | data source | | awsiampolicydocument.awsforfluentbit | data source | | awsiampolicydocument.awsfsxcsi_driver | data source | | awsiampolicydocument.awsgatewayapi_controller | data source | | awsiampolicydocument.awsloadbalancer_controller | data source | | awsiampolicydocument.awsloadbalancercontrolleraga | data source | | awsiampolicydocument.awsnodetermination_handler | data source | | awsiampolicydocument.awsprivatecaissuer | data source | | awsiampolicydocument.cert_manager | data source | | awsiampolicydocument.cluster_autoscaler | data source | | awsiampolicydocument.external_dns | data source | | awsiampolicydocument.external_secrets | data source | | awsiampolicydocument.fargate_fluentbit | data source | | awsiampolicydocument.karpenter | data source | | awsiampolicydocument.karpenterassumerole | data source | | awsiampolicydocument.velero | data source | | awspartition.current | data source | | awsregion.current | data source |

Inputs

| Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | argo\_events | Argo Events add-on configuration values | any | {} | no | | argo\_rollouts | Argo Rollouts add-on configuration values | any | {} | no | | argo\_workflows | Argo Workflows add-on configuration values | any | {} | no | | argocd | ArgoCD add-on configuration values | any | {} | no | | aws\cloudwatch\metrics | Cloudwatch Metrics add-on configuration values | any | {} | no | | aws\efs\csi\_driver | EFS CSI Driver add-on configuration values | any | {} | no | | aws\for\fluentbit | AWS Fluentbit add-on configurations | any | {} | no | | aws\for\fluentbit\cw\log\_group | AWS Fluentbit CloudWatch Log Group configurations | any | {} | no | | aws\fsx\csi\_driver | FSX CSI Driver add-on configuration values | any | {} | no | | aws\gateway\api\_controller | AWS Gateway API Controller add-on configuration values | any | {} | no | | aws\load\balancer\_controller | AWS Load Balancer Controller add-on configuration values | any | {} | no | | aws\node\termination\_handler | AWS Node Termination Handler add-on configuration values | any | {} | no | | aws\node\termination\handler\asg\_arns | List of Auto Scaling group ARNs that AWS Node Termination Handler will monitor for EC2 events | list(string) | [] | no | | aws\node\termination\handler\asg\_names | List of Auto Scaling group names that AWS Node Termination Handler will monitor for EC2 events. If leaving this empty, all ASGs will be monitored | list(string) | [] | no | | aws\node\termination\handler\sqs | AWS Node Termination Handler SQS queue configuration values | any | {} | no | | aws\privateca\issuer | AWS PCA Issuer add-on configurations | any | {} | no | | bottlerocket\_shadow | Bottlerocket Update Operator CRDs configuration values | any | {} | no | | bottlerocket\update\operator | Bottlerocket Update Operator add-on configuration values | any | {} | no | | cert\_manager | cert-manager add-on configuration values | any | {} | no | | cert\manager\route53\hosted\zone\_arns | List of Route53 Hosted Zone ARNs that are used by cert-manager to create DNS records | list(string) |

[
"arn:aws:route53:::hostedzone/*"
]
| no | | cluster\_autoscaler | Cluster Autoscaler add-on configuration values | any | {} | no | | cluster\_endpoint | Endpoint for your Kubernetes API server | string | n/a | yes | | cluster\_name | Name of the EKS cluster | string | n/a | yes | | cluster\proportional\autoscaler | Cluster Proportional Autoscaler add-on configurations | any | {} | no | | cluster\_version | Kubernetes <major>.<minor> version to use for the EKS cluster (i.e.: 1.24) | string | n/a | yes | | create\delay\dependencies | Dependency attribute which must be resolved before starting the createdelayduration | list(string) | [] | no | | create\delay\duration | The duration to wait before creating resources | string | "30s" | no | | create\kubernetes\resources | Create Kubernetes resource with Helm or Kubernetes provider | bool | true | no | | eks\_addons | Map of EKS add-on configurations to enable for the cluster. Add-on name can be the map keys or set with name | any | {} | no | | eks\addons\timeouts | Create, update, and delete timeout configurations for the EKS add-ons | map(string) | {} | no | | enable\argo\events | Enable Argo Events add-on | bool | false | no | | enable\argo\rollouts | Enable Argo Rollouts add-on | bool | false | no | | enable\argo\workflows | Enable Argo workflows add-on | bool | false | no | | enable\_argocd | Enable Argo CD Kubernetes add-on | bool | false | no | | enable\aws\cloudwatch\_metrics | Enable AWS Cloudwatch Metrics add-on for Container Insights | bool | false | no | | enable\aws\efs\csi\driver | Enable AWS EFS CSI Driver add-on | bool | false | no | | enable\aws\for\_fluentbit | Enable AWS for FluentBit add-on | bool | false | no | | enable\aws\fsx\csi\driver | Enable AWS FSX CSI Driver add-on | bool | false | no | | enable\aws\gateway\api\controller | Enable AWS Gateway API Controller add-on | bool | false | no | | enable\aws\load\balancer\controller | Enable AWS Load Balancer Controller add-on | bool | false | no | | enable\aws\load\balancer\controller\_aga | Enable AWS Load Balancer Controller Global Accelerator (AGA) IAM policy | bool | false | no | | enable\aws\node\termination\handler | Enable AWS Node Termination Handler add-on | bool | false | no | | enable\aws\privateca\_issuer | Enable AWS PCA Issuer | bool | false | no | | enable\bottlerocket\update\_operator | Enable Bottlerocket Update Operator add-on | bool | false | no | | enable\cert\manager | Enable cert-manager add-on | bool | false | no | | enable\cluster\autoscaler | Enable Cluster autoscaler add-on | bool | false | no | | enable\cluster\proportional\_autoscaler | Enable Cluster Proportional Autoscaler | bool | false | no | | enable\eks\fargate | Identifies whether or not respective addons should be modified to support deployment on EKS Fargate | bool | false | no | | enable\external\dns | Enable external-dns operator add-on | bool | false | no | | enable\external\secrets | Enable External Secrets operator add-on | bool | false | no | | enable\fargate\fluentbit | Enable Fargate FluentBit add-on | bool | false | no | | enable\_gatekeeper | Enable Gatekeeper add-on | bool | false | no | | enable\ingress\nginx | Enable Ingress Nginx | bool | false | no | | enable\_karpenter | Enable Karpenter controller add-on | bool | false | no | | enable\kube\prometheus\_stack | Enable Kube Prometheus Stack | bool | false | no | | enable\metrics\server | Enable metrics server add-on | bool | false | no | | enable\secrets\store\csi\driver | Enable CSI Secrets Store Provider | bool | false | no | | enable\secrets\store\csi\driver\provider\aws | Enable AWS CSI Secrets Store Provider | bool | false | no | | enable\_velero | Enable Kubernetes Dashboard add-on | bool | false | no | | enable\_vpa | Enable Vertical Pod Autoscaler add-on | bool | false | no | | external\_dns | external-dns add-on configuration values | any | {} | no | | external\dns\route53\zone\arns | List of Route53 zones ARNs which external-dns will have access to create/manage records (if using Route53) | list(string) | [] | no | | external\_secrets | External Secrets add-on configuration values | any | {} | no | | external\secrets\kms\key\arns | List of KMS Key ARNs that are used by Secrets Manager that contain secrets to mount using External Secrets | list(string) |
[
"arn:aws:kms:::key/*"
]
| no | | external\secrets\secrets\manager\arns | List of Secrets Manager ARNs that contain secrets to mount using External Secrets | list(string) |
[
"arn:aws:secretsmanager:::secret:*"
]
| no | | external\secrets\ssm\parameter\arns | List of Systems Manager Parameter ARNs that contain secrets to mount using External Secrets | list(string) |
[
"arn:aws:ssm:::parameter/*"
]
| no | | fargate\_fluentbit | Fargate fluentbit add-on config | any | {} | no | | fargate\fluentbit\cw\log\group | AWS Fargate Fluentbit CloudWatch Log Group configurations | any | {} | no | | gatekeeper | Gatekeeper add-on configuration | any | {} | no | | helm\_releases | A map of Helm releases to create. This provides the ability to pass in an arbitrary map of Helm chart definitions to create | any | {} | no | | ingress\_nginx | Ingress Nginx add-on configurations | any | {} | no | | karpenter | Karpenter add-on configuration values | any | {} | no | | karpenter\enable\instance\profile\creation | Determines whether Karpenter will be allowed to create the IAM instance profile (v1beta1) or if Terraform will (v1alpha1) | bool | true | no | | karpenter\enable\spot\_termination | Determines whether to enable native node termination handling | bool | true | no | | karpenter\_node | Karpenter IAM role and IAM instance profile configuration values | any | {} | no | | karpenter\_sqs | Karpenter SQS queue for native node termination handling configuration values | any | {} | no | | kube\prometheus\stack | Kube Prometheus Stack add-on configurations | any | {} | no | | metrics\_server | Metrics Server add-on configurations | any | {} | no | | observability\_tag | Tag to identify EKS Blueprints usage within observability tools | string | "qs-1ubotj5kl" | no | | oidc\provider\arn | The ARN of the cluster OIDC Provider | string | n/a | yes | | secrets\store\csi\_driver | CSI Secrets Store Provider add-on configurations | any | {} | no | | secrets\store\csi\driver\provider\_aws | CSI Secrets Store Provider add-on configurations | any | {} | no | | tags | A map of tags to add to all resources | map(string) | {} | no | | velero | Velero add-on configuration values | any | {} | no | | vpa | Vertical Pod Autoscaler add-on configuration values | any | {} | no |

Outputs

| Name | Description | |------|-------------| | argo\_events | Map of attributes of the Helm release created | | argo\_rollouts | Map of attributes of the Helm release created | | argo\_workflows | Map of attributes of the Helm release created | | argocd | Map of attributes of the Helm release created | | aws\cloudwatch\metrics | Map of attributes of the Helm release and IRSA created | | aws\efs\csi\_driver | Map of attributes of the Helm release and IRSA created | | aws\for\fluentbit | Map of attributes of the Helm release and IRSA created | | aws\fsx\csi\_driver | Map of attributes of the Helm release and IRSA created | | aws\gateway\api\_controller | Map of attributes of the Helm release and IRSA created | | aws\load\balancer\_controller | Map of attributes of the Helm release and IRSA created | | aws\load\balancer\controller\aga | Map of attributes of the Global Accelerator IAM policy for AWS Load Balancer Controller | | aws\node\termination\_handler | Map of attributes of the Helm release and IRSA created | | aws\privateca\issuer | Map of attributes of the Helm release and IRSA created | | bottlerocket\update\operator | Map of attributes of the Helm release and IRSA created | | cert\_manager | Map of attributes of the Helm release and IRSA created | | cluster\_autoscaler | Map of attributes of the Helm release and IRSA created | | cluster\proportional\autoscaler | Map of attributes of the Helm release and IRSA created | | eks\_addons | Map of attributes for each EKS addons enabled | | external\_dns | Map of attributes of the Helm release and IRSA created | | external\_secrets | Map of attributes of the Helm release and IRSA created | | fargate\_fluentbit | Map of attributes of the configmap and IAM policy created | | gatekeeper | Map of attributes of the Helm release and IRSA created | | gitops\_metadata | GitOps Bridge metadata | | helm\_releases | Map of attributes of the Helm release created | | ingress\_nginx | Map of attributes of the Helm release and IRSA created | | karpenter | Map of attributes of the Helm release and IRSA created | | kube\prometheus\stack | Map of attributes of the Helm release and IRSA created | | metrics\_server | Map of attributes of the Helm release and IRSA created | | secrets\store\csi\_driver | Map of attributes of the Helm release and IRSA created | | secrets\store\csi\driver\provider\_aws | Map of attributes of the Helm release and IRSA created | | velero | Map of attributes of the Helm release and IRSA created | | vpa | Map of attributes of the Helm release and IRSA created |

🔗 More in this category

© 2026 GitRepoTrend · aws-ia/terraform-aws-eks-blueprints-addons · Updated daily from GitHub