diff --git a/README.md b/README.md index c3c69aa..a3fd2d9 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ An opinionated Terraform module that can be used to create and manage an EKS clu | [phlare\_bucket\_name](#input\_phlare\_bucket\_name) | The name of the S3 bucket that will be used by Phlare | `string` | `""` | no | | [phlare\_oidc\_fully\_qualified\_subjects](#input\_phlare\_oidc\_fully\_qualified\_subjects) | The list of trusted resources which can assume the 'phlare' role using OpenID Connect. | `list(string)` | `[]` | no | | [region](#input\_region) | The region in which to create the EKS cluster. | `string` | n/a | yes | -| [self\_managed\_node\_groups](#input\_self\_managed\_node\_groups) | A map describing the set of self-managed node groups to create. Other types of node groups besides self-managed are currently not supported. |
map(object({| n/a | yes | +| [self\_managed\_node\_groups](#input\_self\_managed\_node\_groups) | A map describing the set of self-managed node groups to create. Other types of node groups besides self-managed are currently not supported. |
ami_type = string
ami_name_filter = string
extra_tags = map(string)
instance_type = string
kubelet_extra_args = string
max_nodes = number
min_nodes = number
name = string
pre_bootstrap_user_data = string
post_bootstrap_user_data = string
root_volume_id = string
root_volume_size = number
root_volume_type = string
subnet_ids = list(string)
iam_role_additional_policies = map(string)
iam_role_use_name_prefix = optional(bool, true)
key_name = optional(string)
}))
map(object({| n/a | yes | | [tags](#input\_tags) | The set of tags to place on the EKS cluster. | `map(string)` | n/a | yes | | [velero\_bucket\_name](#input\_velero\_bucket\_name) | The name of the S3 bucket that will be used to upload Velero backups. | `string` | `""` | no | | [velero\_oidc\_fully\_qualified\_subjects](#input\_velero\_oidc\_fully\_qualified\_subjects) | The list of trusted resources which can assume the 'velero' role using OpenID Connect. | `list(string)` | `[]` | no | diff --git a/eks.tf b/eks.tf index ce220ab..33d7645 100644 --- a/eks.tf +++ b/eks.tf @@ -129,6 +129,7 @@ module "main" { instance_type = g.instance_type // The instance type to use for worker nodes. pre_bootstrap_user_data = g.pre_bootstrap_user_data // The pre-bootstrap user data to use for worker nodes. post_bootstrap_user_data = g.post_bootstrap_user_data // The pre-bootstrap user data to use for worker nodes. + cloudinit_post_nodeadm = g.cloudinit_post_nodeadm != null ? g.cloudinit_post_nodeadm : [] iam_role_additional_policies = g.iam_role_additional_policies iam_role_use_name_prefix = g.iam_role_use_name_prefix subnet_ids = length(g.subnet_ids) > 0 ? g.subnet_ids : data.aws_subnets.private.ids // Only place nodes in private subnets. This may change in the future. diff --git a/variables.tf b/variables.tf index 9aa72de..9a09fa4 100644 --- a/variables.tf +++ b/variables.tf @@ -136,16 +136,22 @@ variable "region" { variable "self_managed_node_groups" { description = "A map describing the set of self-managed node groups to create. Other types of node groups besides self-managed are currently not supported." type = map(object({ - ami_type = string - ami_name_filter = string - extra_tags = map(string) - instance_type = string - kubelet_extra_args = string - max_nodes = number - min_nodes = number - name = string - pre_bootstrap_user_data = string - post_bootstrap_user_data = string + ami_type = string + ami_name_filter = string + extra_tags = map(string) + instance_type = string + kubelet_extra_args = string + max_nodes = number + min_nodes = number + name = string + pre_bootstrap_user_data = string + post_bootstrap_user_data = string + cloudinit_post_nodeadm = optional(list(object({ + content = string + content_type = optional(string) + filename = optional(string) + merge_type = optional(string) + }))) root_volume_id = string root_volume_size = number root_volume_type = string
ami_type = string
ami_name_filter = string
extra_tags = map(string)
instance_type = string
kubelet_extra_args = string
max_nodes = number
min_nodes = number
name = string
pre_bootstrap_user_data = string
post_bootstrap_user_data = string
cloudinit_post_nodeadm = optional(list(object({
content = string
content_type = optional(string)
filename = optional(string)
merge_type = optional(string)
})))
root_volume_id = string
root_volume_size = number
root_volume_type = string
subnet_ids = list(string)
iam_role_additional_policies = map(string)
iam_role_use_name_prefix = optional(bool, true)
key_name = optional(string)
}))