Skip to content

Commit 9b865f1

Browse files
fix: Override karpenter instance profile name (#325)
Co-authored-by: Bryant Biggs <[email protected]>
1 parent a408617 commit 9b865f1

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

main.tf

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2736,11 +2736,14 @@ locals {
27362736
karpenter_service_account_name = try(var.karpenter.service_account_name, "karpenter")
27372737
karpenter_enable_spot_termination = var.enable_karpenter && var.karpenter_enable_spot_termination
27382738

2739-
create_karpenter_node_iam_role = var.enable_karpenter && try(var.karpenter_node.create_iam_role, true)
2740-
karpenter_node_iam_role_arn = try(aws_iam_role.karpenter[0].arn, var.karpenter_node.iam_role_arn, "")
2741-
karpenter_node_iam_role_name = try(var.karpenter_node.iam_role_name, "karpenter-${var.cluster_name}")
2742-
karpenter_node_instance_profile_name = try(aws_iam_instance_profile.karpenter[0].name, var.karpenter_node.instance_profile_name, "")
2743-
karpenter_namespace = try(var.karpenter.namespace, "karpenter")
2739+
create_karpenter_node_iam_role = var.enable_karpenter && try(var.karpenter_node.create_iam_role, true)
2740+
karpenter_node_iam_role_arn = try(aws_iam_role.karpenter[0].arn, var.karpenter_node.iam_role_arn, "")
2741+
karpenter_node_iam_role_name = try(var.karpenter_node.iam_role_name, "karpenter-${var.cluster_name}")
2742+
# This is the name used when the instance profile is created by the module
2743+
input_karpenter_node_instance_profile_name = try(var.karpenter_node.instance_profile_name, local.karpenter_node_iam_role_name)
2744+
# This is the name passed to the Karpenter Helm chart - either the profile the module creates, or one provided by the user
2745+
output_karpenter_node_instance_profile_name = try(aws_iam_instance_profile.karpenter[0].name, var.karpenter_node.instance_profile_name, "")
2746+
karpenter_namespace = try(var.karpenter.namespace, "karpenter")
27442747

27452748
karpenter_set = [
27462749
# TODO - remove at next breaking change
@@ -2759,7 +2762,7 @@ locals {
27592762
},
27602763
{
27612764
name = "settings.aws.defaultInstanceProfile"
2762-
value = var.karpenter_enable_instance_profile_creation ? null : local.karpenter_node_instance_profile_name
2765+
value = var.karpenter_enable_instance_profile_creation ? null : local.output_karpenter_node_instance_profile_name
27632766
},
27642767
# Post 0.32.x
27652768
{
@@ -2777,7 +2780,7 @@ locals {
27772780
# TODO - this is not valid but being discussed as a re-addition. TBD on what the schema will be though
27782781
# {
27792782
# name = "settings.defaultInstanceProfile"
2780-
# value = var.karpenter_enable_instance_profile_creation ? null : local.karpenter_node_instance_profile_name
2783+
# value = var.karpenter_enable_instance_profile_creation ? null : local.output_karpenter_node_instance_profile_name
27812784
# },
27822785
# Agnostic of version difference
27832786
{
@@ -2989,8 +2992,8 @@ resource "aws_iam_role_policy_attachment" "additional" {
29892992
resource "aws_iam_instance_profile" "karpenter" {
29902993
count = var.enable_karpenter && try(var.karpenter_node.create_instance_profile, true) ? 1 : 0
29912994

2992-
name = try(var.karpenter_node.iam_role_use_name_prefix, true) ? null : local.karpenter_node_iam_role_name
2993-
name_prefix = try(var.karpenter_node.iam_role_use_name_prefix, true) ? "${local.karpenter_node_iam_role_name}-" : null
2995+
name = try(var.karpenter_node.iam_role_use_name_prefix, true) ? null : local.input_karpenter_node_instance_profile_name
2996+
name_prefix = try(var.karpenter_node.iam_role_use_name_prefix, true) ? "${local.input_karpenter_node_instance_profile_name}-" : null
29942997
path = try(var.karpenter_node.iam_role_path, null)
29952998
role = try(aws_iam_role.karpenter[0].name, var.karpenter_node.iam_role_name, "")
29962999

outputs.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ output "gitops_metadata" {
251251
namespace = local.karpenter_namespace
252252
service_account = local.karpenter_service_account_name
253253
sqs_queue_name = module.karpenter_sqs.queue_name
254-
node_instance_profile_name = local.karpenter_node_instance_profile_name
254+
node_instance_profile_name = local.output_karpenter_node_instance_profile_name
255255
node_iam_role_name = try(aws_iam_role.karpenter[0].name, "")
256256
} : "karpenter_${k}" => v if var.enable_karpenter
257257
},

0 commit comments

Comments
 (0)