Terraform module which provisions AWS controllers for Kubernetes on EKS.
module "eks_ack_addons" {
source = "aws-ia/eks-ack-addons/aws"
# Cluster Info
cluster_name = "<cluster name>"
cluster_endpoint = "<cluster endpoint>"
oidc_provider_arn = "<oidc provider arn>"
# ECR Credentials
ecrpublic_username = "<ecr user name>"
ecrpublic_token = "<ecr token>"
# Controllers to enable
enable_apigatewayv2 = true
enable_dynamodb = true
enable_s3 = true
enable_rds = true
enable_prometheusservice = true
enable_emrcontainers = true
enable_sfn = true
enable_eventbridge = true
tags = {
Environment = "dev"
}
}
Examples codified under the examples
are intended to give users references for how to use the module as well as testing/validating changes to the source code of the module. If contributing to the project, please be sure to make any appropriate updates to the relevant examples to allow maintainers to test your changes and to keep the examples up to date for users. Thank you!
Name | Version |
---|---|
terraform | >= 1.0.0 |
aws | >= 4.0 |
time | >= 0.8 |
Name | Version |
---|---|
aws | >= 4.0 |
time | >= 0.8 |
Name | Source | Version |
---|---|---|
apigatewayv2 | aws-ia/eks-blueprints-addon/aws | 1.1.1 |
dynamodb | aws-ia/eks-blueprints-addon/aws | 1.1.1 |
emrcontainers | aws-ia/eks-blueprints-addon/aws | 1.1.1 |
eventbridge | aws-ia/eks-blueprints-addon/aws | 1.1.1 |
prometheusservice | aws-ia/eks-blueprints-addon/aws | 1.1.1 |
rds | aws-ia/eks-blueprints-addon/aws | 1.1.1 |
s3 | aws-ia/eks-blueprints-addon/aws | 1.1.1 |
sfn | aws-ia/eks-blueprints-addon/aws | 1.1.1 |
Name | Type |
---|---|
aws_iam_policy.emrcontainers | resource |
aws_iam_policy.sfnpasspolicy | resource |
time_sleep.this | resource |
aws_iam_policy_document.emrcontainers | data source |
aws_partition.current | data source |
aws_region.current | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
apigatewayv2 | ACK API gateway v2 Helm Chart config | 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 |
create_delay_dependencies | Dependency attribute which must be resolved before starting the create_delay_duration |
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 |
dynamodb | ACK dynamodb Helm Chart config | any |
{} |
no |
ecrpublic_token | Password decoded from the authorization token for accessing public ECR | string |
"" |
no |
ecrpublic_username | User name decoded from the authorization token for accessing public ECR | string |
"" |
no |
emrcontainers | ACK EMR container Helm Chart config | any |
{} |
no |
enable_apigatewayv2 | Enable ACK API gateway v2 add-on | bool |
false |
no |
enable_dynamodb | Enable ACK dynamodb add-on | bool |
false |
no |
enable_emrcontainers | Enable ACK EMR container add-on | bool |
false |
no |
enable_eventbridge | Enable ACK EventBridge add-on | bool |
false |
no |
enable_prometheusservice | Enable ACK prometheusservice add-on | bool |
false |
no |
enable_rds | Enable ACK rds add-on | bool |
false |
no |
enable_s3 | Enable ACK s3 add-on | bool |
false |
no |
enable_sfn | Enable ACK step functions add-on | bool |
false |
no |
eventbridge | ACK EventBridge Helm Chart config | any |
{} |
no |
oidc_provider_arn | The ARN of the cluster OIDC Provider | string |
n/a | yes |
prometheusservice | ACK prometheusservice Helm Chart config | any |
{} |
no |
rds | ACK rds Helm Chart config | any |
{} |
no |
s3 | ACK s3 Helm Chart config | any |
{} |
no |
sfn | ACK step functions Helm Chart config | any |
{} |
no |
tags | Additional tags (e.g. map('BusinessUnit ,XYZ ) |
map(string) |
{} |
no |
Name | Description |
---|---|
gitops_metadata | GitOps Bridge metadata |
Apache-2.0 Licensed. See LICENSE.