Skip to content

Commit 59ab383

Browse files
authored
Merge pull request #119 from kbst/eksawsauthfix
EKS: Force node_pool to depend on aws-auth configmap
2 parents 2566c0d + 6ba7ede commit 59ab383

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

aws/_modules/eks/node_pool.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
module "node_pool" {
2+
providers = {
3+
kubernetes = kubernetes.eks
4+
}
5+
26
source = "./node_pool"
37

48
metadata_labels = var.metadata_labels
@@ -17,4 +21,10 @@ module "node_pool" {
1721
min_size = var.min_size
1822

1923
disk_size = var.root_device_volume_size
24+
25+
# force node_pool to depend on aws-auth configmap
26+
depends-on-aws-auth = {
27+
name = kubernetes_config_map.current.metadata[0].name
28+
namespace = kubernetes_config_map.current.metadata[0].namespace
29+
}
2030
}

aws/_modules/eks/node_pool/main.tf

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
data "kubernetes_config_map" "aws_auth" {
2+
# Force an explicit depends_on, on the configmap
3+
# before creating the node pool
4+
# Otherwise the aws_eks_node_group resource
5+
# creates the configmap leaving TF to error
6+
# out because it already exists
7+
8+
metadata {
9+
name = var.depends-on-aws-auth.name
10+
namespace = var.depends-on-aws-auth.namespace
11+
}
12+
}
13+
14+
115
resource "aws_eks_node_group" "nodes" {
216
cluster_name = var.cluster_name
317
node_group_name = var.node_group_name
@@ -15,4 +29,6 @@ resource "aws_eks_node_group" "nodes" {
1529

1630
tags = var.eks_metadata_tags
1731
labels = var.metadata_labels
32+
33+
depends_on = [data.kubernetes_config_map.aws_auth]
1834
}

aws/_modules/eks/node_pool/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,8 @@ variable "subnet_ids" {
5353
type = list(string)
5454
description = "List of VPC subnet IDs to use for nodes."
5555
}
56+
57+
variable "depends-on-aws-auth" {
58+
type = map(string)
59+
description = "Used as a depends_on shim to first create the aws-auth configmap before creating the node_pool."
60+
}

0 commit comments

Comments
 (0)