/terraform-aws-eks-ack-addons

Terraform AWS module which provisions ACK addons on EKS

Primary LanguageHCLApache License 2.0Apache-2.0

AWS EKS ACK Addons Terraform module

Terraform module which provisions AWS controllers for Kubernetes on EKS.

Usage

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

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!

Requirements

Name Version
terraform >= 1.0.0
aws >= 4.0
time >= 0.8

Providers

Name Version
aws >= 4.0
time >= 0.8

Modules

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

Resources

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

Inputs

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

Outputs

Name Description
gitops_metadata GitOps Bridge metadata

Community

License

Apache-2.0 Licensed. See LICENSE.