Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andreswebs/terraform-aws-eks-ebs-csi-driver
Deploys the Amazon EBS CSI driver on AWS EKS via Helm
https://github.com/andreswebs/terraform-aws-eks-ebs-csi-driver
aws eks kubernetes terraform-module
Last synced: 2 months ago
JSON representation
Deploys the Amazon EBS CSI driver on AWS EKS via Helm
- Host: GitHub
- URL: https://github.com/andreswebs/terraform-aws-eks-ebs-csi-driver
- Owner: andreswebs
- License: unlicense
- Created: 2021-08-13T12:58:42.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-17T11:14:25.000Z (9 months ago)
- Last Synced: 2024-08-17T01:02:18.566Z (5 months ago)
- Topics: aws, eks, kubernetes, terraform-module
- Language: HCL
- Homepage: https://registry.terraform.io/modules/andreswebs/eks-ebs-csi-driver/aws/latest
- Size: 35.2 KB
- Stars: 4
- Watchers: 3
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# terraform-aws-eks-ebs-csi-driver
[//]: # (BEGIN_TF_DOCS)
Deploys the [Amazon EBS CSI driver](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) on AWS EKS via Helm.## Usage
Example:
```hcl
module "aws_ebs_csi_driver" {
source = "github.com/andreswebs/terraform-aws-eks-ebs-csi-driver"
cluster_name = var.eks_cluster_id
cluster_oidc_provider = var.eks_cluster_oidc_provider
iam_role_name = "ebs-csi-controller-${var.eks_cluster_id}"
chart_version_aws_ebs_csi_driver = var.chart_version_aws_ebs_csi_driver
}
```## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [chart\_version\_aws\_ebs\_csi\_driver](#input\_chart\_version\_aws\_ebs\_csi\_driver) | 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-ebs-csi-driver"` | 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) | Name of the IAM role used by Kubernetes service account | `string` | `"ebs-csi-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) | Name of the Kubernetes service account | `string` | `"ebs-csi-controller"` | no |
| [kms\_key\_arn](#input\_kms\_key\_arn) | (Optional) ARN of the AWS KMS key used for volume encryption | `string` | `""` | 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.0.0 |
| [aws](#requirement\_aws) | >= 3.48.0 |
| [helm](#requirement\_helm) | >= 2.2.0 |## Resources
No resources.
[//]: # (END_TF_DOCS)
## Authors
**Andre Silva** - [@andreswebs](https://github.com/andreswebs)
## License
This project is licensed under the [Unlicense](UNLICENSE.md).