diff --git a/examples/irsa_autoscale_refresh/main.tf b/examples/irsa_autoscale_refresh/main.tf
index 6ad656d..faf16dc 100644
--- a/examples/irsa_autoscale_refresh/main.tf
+++ b/examples/irsa_autoscale_refresh/main.tf
@@ -54,11 +54,7 @@ module "eks" {
triggers = ["tag"]
}
- propogate_tags = [{
- key = "aws-node-termination-handler/managed"
- value = true
- propagate_at_launch = true
- }]
+ tags = { "aws-node-termination-handler/managed" = "true" }
}
mixed_instance = {
@@ -82,11 +78,7 @@ module "eks" {
]
}
- propogate_tags = [{
- key = "aws-node-termination-handler/managed"
- value = true
- propagate_at_launch = true
- }]
+ tags = { "aws-node-termination-handler/managed" = "true" }
}
spot = {
@@ -96,12 +88,7 @@ module "eks" {
}
bootstrap_extra_args = "--kubelet-extra-args '--node-labels=node.kubernetes.io/lifecycle=spot'"
-
- propogate_tags = [{
- key = "aws-node-termination-handler/managed"
- value = true
- propagate_at_launch = true
- }]
+ tags = { "aws-node-termination-handler/managed" = "true" }
}
}
diff --git a/modules/self-managed-node-group/README.md b/modules/self-managed-node-group/README.md
index 0d705f7..8f75be6 100644
--- a/modules/self-managed-node-group/README.md
+++ b/modules/self-managed-node-group/README.md
@@ -85,7 +85,7 @@ module "self_managed_node_group" {
| [cluster\_auth\_base64](#input\_cluster\_auth\_base64) | Base64 encoded CA of associated EKS cluster | `string` | `""` | no |
| [cluster\_endpoint](#input\_cluster\_endpoint) | Endpoint of associated EKS cluster | `string` | `""` | no |
| [cluster\_ip\_family](#input\_cluster\_ip\_family) | The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6` | `string` | `null` | no |
-| [cluster\_name](#input\_cluster\_name) | Name of associated EKS cluster | `string` | `null` | no |
+| [cluster\_name](#input\_cluster\_name) | Name of associated EKS cluster | `string` | `""` | no |
| [cluster\_security\_group\_id](#input\_cluster\_security\_group\_id) | Cluster control plane security group ID | `string` | `null` | no |
| [cluster\_version](#input\_cluster\_version) | Kubernetes cluster version - used to lookup default AMI ID if one is not provided | `string` | `null` | no |
| [cpu\_options](#input\_cpu\_options) | The CPU options for the instance | `map(string)` | `null` | no |
@@ -146,7 +146,6 @@ module "self_managed_node_group" {
| [platform](#input\_platform) | Identifies if the OS platform is `bottlerocket`, `linux`, or `windows` based | `string` | `"linux"` | no |
| [post\_bootstrap\_user\_data](#input\_post\_bootstrap\_user\_data) | User data that is appended to the user data script after of the EKS bootstrap script. Not used when `platform` = `bottlerocket` | `string` | `""` | no |
| [pre\_bootstrap\_user\_data](#input\_pre\_bootstrap\_user\_data) | User data that is injected into the user data script ahead of the EKS bootstrap script. Not used when `platform` = `bottlerocket` | `string` | `""` | no |
-| [propagate\_tags](#input\_propagate\_tags) | A list of tag blocks. Each element should have keys named `key`, `value`, and `propagate_at_launch` | `list(map(string))` | `[]` | no |
| [protect\_from\_scale\_in](#input\_protect\_from\_scale\_in) | Allows setting instance protection. The autoscaling group will not select instances with this setting for termination during scale in events. | `bool` | `false` | no |
| [ram\_disk\_id](#input\_ram\_disk\_id) | The ID of the ram disk | `string` | `null` | no |
| [schedules](#input\_schedules) | Map of autoscaling group schedule to create | `map(any)` | `{}` | no |
diff --git a/modules/self-managed-node-group/main.tf b/modules/self-managed-node-group/main.tf
index 1b7ca66..1904601 100644
--- a/modules/self-managed-node-group/main.tf
+++ b/modules/self-managed-node-group/main.tf
@@ -378,6 +378,23 @@ resource "aws_autoscaling_group" "this" {
}
}
+ dynamic "tag" {
+ for_each = merge(
+ {
+ "Name" = var.name
+ "kubernetes.io/cluster/${var.cluster_name}" = "owned"
+ "k8s.io/cluster/${var.cluster_name}" = "owned"
+ },
+ var.tags,
+ )
+
+ content {
+ key = tag.key
+ value = tag.value
+ propagate_at_launch = true
+ }
+ }
+
timeouts {
delete = var.delete_timeout
}
@@ -388,34 +405,6 @@ resource "aws_autoscaling_group" "this" {
desired_capacity
]
}
-
- tags = concat(
- [
- {
- key = "Name"
- value = var.name
- propagate_at_launch = true
- },
- {
- key = "kubernetes.io/cluster/${var.cluster_name}"
- value = "owned"
- propagate_at_launch = true
- },
- {
- key = "k8s.io/cluster/${var.cluster_name}"
- value = "owned"
- propagate_at_launch = true
- },
- ],
- var.propagate_tags,
- [for k, v in var.tags :
- {
- key = k
- value = v
- propagate_at_launch = true
- }
- ]
- )
}
################################################################################
diff --git a/modules/self-managed-node-group/variables.tf b/modules/self-managed-node-group/variables.tf
index e9f8646..0eefab7 100644
--- a/modules/self-managed-node-group/variables.tf
+++ b/modules/self-managed-node-group/variables.tf
@@ -23,7 +23,7 @@ variable "platform" {
variable "cluster_name" {
description = "Name of associated EKS cluster"
type = string
- default = null
+ default = ""
}
variable "cluster_endpoint" {
@@ -446,12 +446,6 @@ variable "delete_timeout" {
default = null
}
-variable "propagate_tags" {
- description = "A list of tag blocks. Each element should have keys named `key`, `value`, and `propagate_at_launch`"
- type = list(map(string))
- default = []
-}
-
################################################################################
# Autoscaling group schedule
################################################################################
diff --git a/node_groups.tf b/node_groups.tf
index 48cb510..e59159d 100644
--- a/node_groups.tf
+++ b/node_groups.tf
@@ -450,6 +450,5 @@ module "self_managed_node_group" {
security_group_rules = try(each.value.security_group_rules, var.self_managed_node_group_defaults.security_group_rules, {})
security_group_tags = try(each.value.security_group_tags, var.self_managed_node_group_defaults.security_group_tags, {})
- tags = merge(var.tags, try(each.value.tags, var.self_managed_node_group_defaults.tags, {}))
- propagate_tags = try(each.value.propagate_tags, var.self_managed_node_group_defaults.propagate_tags, [])
+ tags = merge(var.tags, try(each.value.tags, var.self_managed_node_group_defaults.tags, {}))
}