Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andreswebs/terraform-aws-eks-lb-controller

Deploys the AWS Load Balancer Controller via Helm on AWS EKS
https://github.com/andreswebs/terraform-aws-eks-lb-controller

aws eks terraform-module

Last synced: 22 days ago
JSON representation

Deploys the AWS Load Balancer Controller via Helm on AWS EKS

Awesome Lists containing this project

README

        

# terraform-aws-eks-lb-controller

Deploys the AWS Load Balancer Controller on AWS EKS.

[//]: # (BEGIN_TF_DOCS)

## Usage

Example:

```hcl
module "aws_lb_controller" {
source = "github.com/andreswebs/terraform-aws-eks-lb-controller"
cluster_name = var.eks_cluster_id
cluster_oidc_provider = var.eks_cluster_oidc_provider
iam_role_name = "eks-lb-controller-${var.eks_cluster_id}"
chart_version_aws_lb_controller = var.chart_version_aws_lb_controller
}
```

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [chart\_version\_aws\_lb\_controller](#input\_chart\_version\_aws\_lb\_controller) | Chart version | `string` | `null` | no |
| [cluster\_name](#input\_cluster\_name) | Cluster name | `string` | n/a | yes |
| [cluster\_oidc\_provider](#input\_cluster\_oidc\_provider) | OpenID Connect (OIDC) Identity Provider associated with the Kubernetes cluster | `string` | n/a | yes |
| [helm\_atomic\_creation](#input\_helm\_atomic\_creation) | Purge resources on installation failure ? The wait flag will be set automatically if atomic is used | `bool` | `true` | no |
| [helm\_cleanup\_on\_fail](#input\_helm\_cleanup\_on\_fail) | Deletion new resources created in this upgrade if the upgrade fails ? | `bool` | `true` | no |
| [helm\_create\_namespace](#input\_helm\_create\_namespace) | Create the namespace if it does not yet exist ? | `bool` | `true` | no |
| [helm\_dependency\_update](#input\_helm\_dependency\_update) | Run helm dependency update before installing the chart ? | `bool` | `false` | no |
| [helm\_force\_update](#input\_helm\_force\_update) | Force resource update through delete/recreate if needed ? | `bool` | `false` | no |
| [helm\_keyring](#input\_helm\_keyring) | Location of public keys used for verification; used only if verify is true | `string` | `".gnupg/pubring.gpg"` | no |
| [helm\_max\_history](#input\_helm\_max\_history) | Maximum number of release versions stored per release; `0` means no limit | `number` | `3` | no |
| [helm\_recreate\_pods](#input\_helm\_recreate\_pods) | Perform pods restart during upgrade/rollback ? | `bool` | `true` | no |
| [helm\_release\_name](#input\_helm\_release\_name) | Release name | `string` | `"aws-load-balancer-controller"` | no |
| [helm\_replace](#input\_helm\_replace) | Re-use the given name, even if that name is already used; this is unsafe in production | `bool` | `false` | no |
| [helm\_reset\_values](#input\_helm\_reset\_values) | When upgrading, reset the values to the ones built into the chart ? | `bool` | `false` | no |
| [helm\_reuse\_values](#input\_helm\_reuse\_values) | When upgrading, reuse the last release's values and merge any overrides ? If 'reset\_values' is specified, this is ignored | `bool` | `false` | no |
| [helm\_skip\_crds](#input\_helm\_skip\_crds) | Skip installing CRDs ? | `bool` | `false` | no |
| [helm\_timeout\_seconds](#input\_helm\_timeout\_seconds) | Time in seconds to wait for any individual kubernetes operation | `number` | `300` | no |
| [helm\_verify](#input\_helm\_verify) | Verify the package before installing it. Helm uses a provenance file to verify the integrity of the chart | `bool` | `false` | no |
| [helm\_wait\_for\_completion](#input\_helm\_wait\_for\_completion) | Wait until all resources are in a ready state before marking the release as successful ? | `bool` | `true` | no |
| [helm\_wait\_for\_jobs](#input\_helm\_wait\_for\_jobs) | Wait until all Jobs have been completed before marking the release as successful ? | `bool` | `true` | no |
| [iam\_role\_name](#input\_iam\_role\_name) | IAM role name | `string` | `"aws-load-balancer-controller"` | no |
| [k8s\_namespace](#input\_k8s\_namespace) | Kubernetes namespace on which to install resources | `string` | `"kube-system"` | no |
| [k8s\_sa\_name](#input\_k8s\_sa\_name) | Kubernetes service account name | `string` | `"aws-load-balancer-controller"` | no |

## Modules

| Name | Source | Version |
|------|--------|---------|
| [iam](#module\_iam) | ./modules/iam | n/a |
| [resources](#module\_resources) | ./modules/resources | n/a |

## Outputs

| Name | Description |
|------|-------------|
| [namespace](#output\_namespace) | The name (`metadata.name`) of the Kubernetes namespace |
| [release](#output\_release) | Helm release |
| [role](#output\_role) | IAM role for the Kubernetes service account |

## Providers

No providers.

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | ~> 1.1 |
| [aws](#requirement\_aws) | ~> 3.50 |
| [helm](#requirement\_helm) | ~> 2.2 |

## Resources

No resources.

[//]: # (END_TF_DOCS)

## Authors

**Andre Silva** - [@andreswebs](https://github.com/andreswebs)

## License

This project is licensed under the [Unlicense](UNLICENSE.md).