Skip to content

Commit ba3ecf9

Browse files
lazzursbryantbiggs
andauthored
feat: Add EFS performance settings. (#339)
* feat: Add EFS performance settings. Adding EFS performance settings as the default EFS performance settings might not provide enough performance to initial Atlantis installs that have to pull large repos while the EFS volume is small as the default mode provides performance relative to disk usage. In testing the default EFS mode provided initial performance so far away from ephemeral storage that Atlantis became unusable. * Change default of efs throughput mode to null * Removed variable validation as requested. --------- Co-authored-by: Bryant Biggs <[email protected]>
1 parent 984a5de commit ba3ecf9

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,8 @@ allow_github_webhooks = true
402402
| <a name="input_ecs_task_memory"></a> [ecs\_task\_memory](#input\_ecs\_task\_memory) | The amount (in MiB) of memory used by the task | `number` | `512` | no |
403403
| <a name="input_efs_file_system_encrypted"></a> [efs\_file\_system\_encrypted](#input\_efs\_file\_system\_encrypted) | If true, the disk will be encrypted. | `bool` | `false` | no |
404404
| <a name="input_efs_file_system_token"></a> [efs\_file\_system\_token](#input\_efs\_file\_system\_token) | Be able to import other EFS instance created by the other module | `string` | `""` | no |
405+
| <a name="input_efs_provisioned_throughput_in_mibps"></a> [efs\_provisioned\_throughput\_in\_mibps](#input\_efs\_provisioned\_throughput\_in\_mibps) | The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with efs\_throughput\_mode set to provisioned | `number` | `null` | no |
406+
| <a name="input_efs_throughput_mode"></a> [efs\_throughput\_mode](#input\_efs\_throughput\_mode) | (Optional) Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned, or elastic. When using provisioned, also set provisioned\_throughput\_in\_mibps. | `string` | `null` | no |
405407
| <a name="input_enable_ecs_managed_tags"></a> [enable\_ecs\_managed\_tags](#input\_enable\_ecs\_managed\_tags) | Specifies whether to enable Amazon ECS managed tags for the tasks within the service | `bool` | `false` | no |
406408
| <a name="input_enable_ephemeral_storage"></a> [enable\_ephemeral\_storage](#input\_enable\_ephemeral\_storage) | Enable to use Fargate Ephemeral Storage | `bool` | `false` | no |
407409
| <a name="input_entrypoint"></a> [entrypoint](#input\_entrypoint) | The entry point that is passed to the container | `list(string)` | `null` | no |

main.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,9 @@ resource "aws_efs_file_system" "this" {
465465

466466
creation_token = coalesce(var.efs_file_system_token, var.name)
467467

468+
throughput_mode = var.efs_throughput_mode
469+
provisioned_throughput_in_mibps = var.efs_provisioned_throughput_in_mibps
470+
468471
encrypted = var.efs_file_system_encrypted
469472
}
470473

variables.tf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,18 @@ variable "efs_file_system_token" {
743743
default = ""
744744
}
745745

746+
variable "efs_throughput_mode" {
747+
description = "(Optional) Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned, or elastic. When using provisioned, also set provisioned_throughput_in_mibps."
748+
type = string
749+
default = null
750+
}
751+
752+
variable "efs_provisioned_throughput_in_mibps" {
753+
description = "The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with efs_throughput_mode set to provisioned"
754+
type = number
755+
default = null
756+
}
757+
746758
variable "alb_ip_address_type" {
747759
description = "The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack"
748760
type = string

0 commit comments

Comments
 (0)