Skip to content

Terraform module for deploying AWS Load Balancer Controller inside a pre-existing EKS cluster.

License

Notifications You must be signed in to change notification settings

DNXLabs/terraform-aws-eks-lb-controller

Repository files navigation

terraform-aws-eks-lb-controller

Lint Status LICENSE

Terraform module for deploying AWS Load Balancer Controller inside a pre-existing EKS cluster.

Usage

module "load_balancer_controller" {
  source = "git::https://github.com/DNXLabs/terraform-aws-eks-lb-controller.git"

  cluster_identity_oidc_issuer     = module.eks_cluster.cluster_oidc_issuer_url
  cluster_identity_oidc_issuer_arn = module.eks_cluster.oidc_provider_arn
  cluster_name                     = module.eks_cluster.cluster_id
}

Requirements

Name Version
terraform >= 0.13
aws >= 3.35
helm >= 1.0, < 3.0
kubectl >= 1.9.4
kubernetes >= 1.10.0, < 3.0.0

Providers

Name Version
aws >= 3.35
helm >= 1.0, < 3.0
kubectl >= 1.9.4
kubernetes >= 1.10.0, < 3.0.0

Inputs

Name Description Type Default Required
arn_format ARNs identifier, usefull for GovCloud begin with aws-us-gov-<region>. string "aws" no
cluster_identity_oidc_issuer The OIDC Identity issuer for the cluster. string n/a yes
cluster_identity_oidc_issuer_arn The OIDC Identity issuer ARN for the cluster that can be used to associate IAM roles with a service account. string n/a yes
cluster_name The name of the cluster. string n/a yes
create_namespace Whether to create Kubernetes namespace with name defined by namespace. bool true no
enabled Variable indicating whether deployment is enabled. bool true no
helm_chart_name AWS Load Balancer Controller Helm chart name. string "aws-load-balancer-controller" no
helm_chart_release_name AWS Load Balancer Controller Helm chart release name. string "aws-load-balancer-controller" no
helm_chart_repo AWS Load Balancer Controller Helm repository name. string "https://aws.github.io/eks-charts" no
helm_chart_version AWS Load Balancer Controller Helm chart version. string "1.10.1" no
mod_dependency Dependence variable binds all AWS resources allocated by this module, dependent modules reference this variable. any null no
namespace AWS Load Balancer Controller Helm chart namespace which the service will be created. string "kube-system" no
permissions_boundary If provided, all IAM roles will be created with this permissions boundary attached. string null no
role_name Optional Parameter to override the naming convention used '-alb-ingress' role name string null no
roles RBAC roles that give secret access in other namespaces to the lb controller
list(object({
name = string
namespace = string
secrets = list(string)
}))
[] no
service_account_name The kubernetes service account name. string "aws-alb-ingress-controller" no
settings Additional settings which will be passed to the Helm chart values, see https://github.com/aws/eks-charts/tree/master/stable/aws-load-balancer-controller#configuration. any {} no
tags Optional Parameter to add tags to the lb IAM role map(string) null no

Outputs

No output.

Authors

Module managed by DNX Solutions.

License

Apache 2 Licensed. See LICENSE for full details.