terraform-aws-eks-lb-controller
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.4.4" |
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({ |
[] |
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.