https://github.com/cms-enterprise/batcave-tf-efs
batCAVE EFS Terraform module
https://github.com/cms-enterprise/batcave-tf-efs
aws-efs batcave terraform terraform-module
Last synced: 3 months ago
JSON representation
batCAVE EFS Terraform module
- Host: GitHub
- URL: https://github.com/cms-enterprise/batcave-tf-efs
- Owner: CMS-Enterprise
- License: other
- Created: 2022-08-23T16:05:23.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-16T19:34:24.000Z (about 1 year ago)
- Last Synced: 2024-09-17T00:48:56.406Z (about 1 year ago)
- Topics: aws-efs, batcave, terraform, terraform-module
- Language: HCL
- Homepage: https://cloud.cms.gov/batcave-platform-service
- Size: 56.6 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# batcave-tf-efs
## Requirements
No requirements.
## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | n/a |
| [helm](#provider\_helm) | n/a |
| [time](#provider\_time) | n/a |
## Modules
| Name | Source | Version |
|------|--------|---------|
| [iam\_assumable\_role\_admin](#module\_iam\_assumable\_role\_admin) | terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc | n/a |
## Resources
| Name | Type |
|------|------|
| [aws_backup_plan.daily](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_plan) | resource |
| [aws_backup_selection.daily](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_selection) | resource |
| [aws_backup_vault.daily](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_vault) | resource |
| [aws_backup_vault_policy.efs_backup_vault](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_vault_policy) | resource |
| [aws_efs_backup_policy.policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_backup_policy) | resource |
| [aws_efs_file_system.efs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system) | resource |
| [aws_efs_mount_target.efs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target) | resource |
| [aws_iam_policy.batcave_efscsidriver](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_policy.efs_kms_backup_restore](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_role.efs_backup_restore_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role.service_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role_policy_attachment.efs_backup_restore_attach](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.service_role_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_security_group.efs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |
| [aws_security_group_rule.efs_ingress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |
| [helm_release.aws-efs-csi-driver](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [time_sleep.iam_delay](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [aws_eks_cluster_auth.cluster](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/eks_cluster_auth) | data source |
| [aws_iam_policy_document.backup_assume_role_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
| [aws_iam_policy_document.backup_efs_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
| [aws_iam_policy_document.batcave_efscsidriver](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
| [aws_iam_policy_document.service_link](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
| [aws_iam_policy_document.vault_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
| [aws_kms_key.efs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/kms_key) | data source |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [backup\_completion\_window\_minutes](#input\_backup\_completion\_window\_minutes) | Amount of time (in minutes) a backup job can run before it is automatically canceled | `number` | `180` | no |
| [backup\_restore\_policy\_name](#input\_backup\_restore\_policy\_name) | n/a | `string` | `"EFSBackupRestore"` | no |
| [backup\_start\_window\_minutes](#input\_backup\_start\_window\_minutes) | Amount if time (in minutes) before starting a backup job | `number` | `60` | no |
| [cluster\_certificate\_authority\_data](#input\_cluster\_certificate\_authority\_data) | CA certificate data for EKS cluster | `any` | n/a | yes |
| [cluster\_endpoint](#input\_cluster\_endpoint) | Endpoint for EKS cluster | `any` | n/a | yes |
| [cluster\_name](#input\_cluster\_name) | Name of EKS cluster | `any` | n/a | yes |
| [cluster\_oidc\_issuer\_url](#input\_cluster\_oidc\_issuer\_url) | OIDC issuer URL for EKS cluster | `any` | n/a | yes |
| [daily\_backup\_days\_to\_retain](#input\_daily\_backup\_days\_to\_retain) | Days to retain the backup vault backups | `string` | `"30"` | no |
| [daily\_backup\_force\_destroy](#input\_daily\_backup\_force\_destroy) | Force destroy the backup vault | `bool` | `false` | no |
| [daily\_backup\_tag\_key](#input\_daily\_backup\_tag\_key) | Tag Key for backing up resources daily | `string` | `""` | no |
| [daily\_backup\_tag\_value](#input\_daily\_backup\_tag\_value) | Tag Value for backing up resources daily | `string` | `""` | no |
| [directory\_perms](#input\_directory\_perms) | Storage Class directory permissions | `string` | `"700"` | no |
| [gid\_range\_end](#input\_gid\_range\_end) | Storage Class directory permissions | `string` | `"2000"` | no |
| [gid\_range\_start](#input\_gid\_range\_start) | Storage Class directory permissions | `string` | `"100"` | no |
| [helm\_name](#input\_helm\_name) | Name for Helm release | `string` | `"aws-efs-csi-driver"` | no |
| [helm\_namespace](#input\_helm\_namespace) | Namespace for Helm chart | `string` | `"kube-system"` | no |
| [iam\_backup\_restore\_role\_name](#input\_iam\_backup\_restore\_role\_name) | n/a | `string` | `"EFSBackupRestoreRole"` | no |
| [iam\_path](#input\_iam\_path) | Path for IAM roles | `string` | `"/delegatedadmin/developer/"` | no |
| [imagerepo](#input\_imagerepo) | ECR repository for container images | `string` | `"602401143452.dkr.ecr.us-west-2.amazonaws.com/eks/aws-efs-csi-driver"` | no |
| [kms\_key\_id](#input\_kms\_key\_id) | KMS key ID for secrets encryption | `string` | `""` | no |
| [permissions\_boundary](#input\_permissions\_boundary) | Permissions boundary for IAM roles | `string` | `""` | no |
| [private\_subnet\_ids](#input\_private\_subnet\_ids) | n/a | `list(any)` | `[]` | no |
| [tags](#input\_tags) | Optional; Map of key-value tags to apply to applicable resources | `map(any)` | `{}` | no |
| [tags\_backup\_plan](#input\_tags\_backup\_plan) | Optional; Map of key-value tags to apply to all backup plans | `map(any)` | `{}` | no |
| [tags\_backup\_vault](#input\_tags\_backup\_vault) | Optional; Map of key-value tags to apply to all backup vaults | `map(any)` | `{}` | no |
| [tolerations](#input\_tolerations) | ## Helm variables | `list(any)` | `[]` | no |
| [vpc\_id](#input\_vpc\_id) | VPC ID for EKS cluster | `any` | n/a | yes |
| [worker\_security\_group\_id](#input\_worker\_security\_group\_id) | n/a | `string` | n/a | yes |
## Outputs
| Name | Description |
|------|-------------|
| [oidc\_iam\_role\_arn](#output\_oidc\_iam\_role\_arn) | n/a |