Skip to content

Commit 6067290

Browse files
authored
feat: Support for encrypted root disk in node_groups (#1428)
1 parent 3b12298 commit 6067290

File tree

3 files changed

+6
-0
lines changed

3 files changed

+6
-0
lines changed

modules/node_groups/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ The role ARN specified in `var.default_iam_role_arn` will be used by default. In
2323
| capacity\_type | Type of instance capacity to provision. Options are `ON_DEMAND` and `SPOT` | string | Provider default behavior |
2424
| create_launch_template | Create and use a default launch template | bool | `false` |
2525
| desired\_capacity | Desired number of workers | number | `var.workers_group_defaults[asg_desired_capacity]` |
26+
| disk\_encrypted | Whether the root disk will be encrypyted. Requires `create_launch_template` to be `true` and `disk_kms_key_id` to be set | bool | false |
27+
| disk\_kms\_key\_id | KMS Key used to encrypt the root disk. Requires both `create_launch_template` and `disk_encrypted` to be `true` | string | "" |
2628
| disk\_size | Workers' disk size | number | Provider default behavior |
2729
| disk\_type | Workers' disk type. Require `create_launch_template` to be `true`| number | `gp3` |
2830
| ebs\_optimized | Enables/disables EBS optimization. Require `create_launch_template` to be `true` | bool | `true` if defined `instance\_types` are not present in `var.ebs\_optimized\_not\_supported` |

modules/node_groups/launch_template.tf

+2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ resource "aws_launch_template" "workers" {
3535
ebs {
3636
volume_size = lookup(each.value, "disk_size", null)
3737
volume_type = lookup(each.value, "disk_type", null)
38+
encrypted = lookup(each.value, "disk_encrypted", null)
39+
kms_key_id = lookup(each.value, "disk_kms_key_id", null)
3840
delete_on_termination = true
3941
}
4042
}

modules/node_groups/locals.tf

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ locals {
1616
kubelet_extra_args = var.workers_group_defaults["kubelet_extra_args"]
1717
disk_size = var.workers_group_defaults["root_volume_size"]
1818
disk_type = var.workers_group_defaults["root_volume_type"]
19+
disk_encrypted = var.workers_group_defaults["root_encrypted"]
20+
disk_kms_key_id = var.workers_group_defaults["root_kms_key_id"]
1921
enable_monitoring = var.workers_group_defaults["enable_monitoring"]
2022
eni_delete = var.workers_group_defaults["eni_delete"]
2123
public_ip = var.workers_group_defaults["public_ip"]

0 commit comments

Comments
 (0)