Skip to content

Commit 0cdc030

Browse files
authored
Merge pull request #13 from truefoundry/instance-profile-check
Instance profile check
2 parents bad7fa3 + a3831db commit 0cdc030

File tree

4 files changed

+17
-4
lines changed

4 files changed

+17
-4
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Truefoundry AWS Karpenter Module
4545
| <a name="input_controller_nodegroup_name"></a> [controller\_nodegroup\_name](#input\_controller\_nodegroup\_name) | The initial nodegroup name | `string` | n/a | yes |
4646
| <a name="input_create_karpenter_iam_role"></a> [create\_karpenter\_iam\_role](#input\_create\_karpenter\_iam\_role) | Enable/disable creation of IAM role for karpenter | `bool` | `true` | no |
4747
| <a name="input_existing_karpenter_iam_role_arn"></a> [existing\_karpenter\_iam\_role\_arn](#input\_existing\_karpenter\_iam\_role\_arn) | ARN of the existing karpenter role. This will be used only when create\_karpenter\_iam\_role is set to false | `string` | `""` | no |
48+
| <a name="input_existing_karpenter_instance_profile"></a> [existing\_karpenter\_instance\_profile](#input\_existing\_karpenter\_instance\_profile) | Instance profile for karpenter. This will be used only when create\_karpenter\_iam\_role is set to false | `string` | `""` | no |
4849
| <a name="input_k8s_service_account_name"></a> [k8s\_service\_account\_name](#input\_k8s\_service\_account\_name) | The k8s karpenter service account name | `string` | `"karpenter"` | no |
4950
| <a name="input_k8s_service_account_namespace"></a> [k8s\_service\_account\_namespace](#input\_k8s\_service\_account\_namespace) | The k8s karpenter namespace | `string` | `"kube-system"` | no |
5051
| <a name="input_message_retention_seconds"></a> [message\_retention\_seconds](#input\_message\_retention\_seconds) | Message retention in seconds for SQS queue | `number` | `300` | no |

main.tf

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,18 @@ module "karpenter_irsa_role" {
2525
}
2626

2727
resource "aws_iam_instance_profile" "karpenter" {
28-
name = "${var.cluster_name}-karpenter-${var.controller_nodegroup_name}"
29-
role = split("/", var.controller_node_iam_role_arn)[1]
30-
tags = local.tags
28+
count = var.create_karpenter_iam_role ? 1 : 0
29+
name = "${var.cluster_name}-karpenter-${var.controller_nodegroup_name}"
30+
role = split("/", var.controller_node_iam_role_arn)[1]
31+
tags = local.tags
3132
}
3233

3334
moved {
3435
from = module.karpenter_irsa_role
3536
to = module.karpenter_irsa_role[0]
37+
}
38+
39+
moved {
40+
from = resource.aws_iam_instance_profile.karpenter
41+
to = resource.aws_iam_instance_profile.karpenter[0]
3642
}

output.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ output "karpenter_role_arn" {
44
}
55

66
output "karpenter_instance_profile_id" {
7-
value = aws_iam_instance_profile.karpenter.id
7+
value = var.create_karpenter_iam_role ? aws_iam_instance_profile.karpenter[0].id : var.existing_karpenter_instance_profile
88
description = "Karpenter instance profile ID"
99
}
1010

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ variable "existing_karpenter_iam_role_arn" {
2727
default = ""
2828
}
2929

30+
variable "existing_karpenter_instance_profile" {
31+
description = "Instance profile for karpenter. This will be used only when create_karpenter_iam_role is set to false"
32+
type = string
33+
default = ""
34+
}
35+
3036
variable "oidc_provider_arn" {
3137
description = "The oidc provider arn of the eks cluster"
3238
type = string

0 commit comments

Comments
 (0)