Skip to content

Commit 3d7ea33

Browse files
authored
feat: Add variable to allow changing tag condition on Karpenter iam-role-for-service-accounts-eks policy (#218)
1 parent a7c09ef commit 3d7ea33

File tree

4 files changed

+10
-3
lines changed

4 files changed

+10
-3
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ repos:
2323
- '--args=--only=terraform_standard_module_structure'
2424
- '--args=--only=terraform_workspace_remote'
2525
- repo: https://github.com/pre-commit/pre-commit-hooks
26-
rev: v4.1.0
26+
rev: v4.2.0
2727
hooks:
2828
- id: check-merge-conflict
2929
- id: end-of-file-fixer

modules/iam-role-for-service-accounts-eks/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ No modules.
165165
| <a name="input_karpenter_controller_cluster_id"></a> [karpenter\_controller\_cluster\_id](#input\_karpenter\_controller\_cluster\_id) | Cluster ID where the Karpenter controller is provisioned/managing | `string` | `"*"` | no |
166166
| <a name="input_karpenter_controller_node_iam_role_arns"></a> [karpenter\_controller\_node\_iam\_role\_arns](#input\_karpenter\_controller\_node\_iam\_role\_arns) | List of node IAM role ARNs Karpenter can use to launch nodes | `list(string)` | <pre>[<br> "*"<br>]</pre> | no |
167167
| <a name="input_karpenter_controller_ssm_parameter_arns"></a> [karpenter\_controller\_ssm\_parameter\_arns](#input\_karpenter\_controller\_ssm\_parameter\_arns) | List of SSM Parameter ARNs that contain AMI IDs launched by Karpenter | `list(string)` | <pre>[<br> "arn:aws:ssm:*:*:parameter/aws/service/*"<br>]</pre> | no |
168+
| <a name="input_karpenter_tag_key"></a> [karpenter\_tag\_key](#input\_karpenter\_tag\_key) | Tag key (`{key = value}`) applied to resources launched by Karpenter through the Karpenter provisioner | `string` | `"karpenter.sh/discovery"` | no |
168169
| <a name="input_max_session_duration"></a> [max\_session\_duration](#input\_max\_session\_duration) | Maximum CLI/API session duration in seconds between 3600 and 43200 | `number` | `null` | no |
169170
| <a name="input_node_termination_handler_sqs_queue_arns"></a> [node\_termination\_handler\_sqs\_queue\_arns](#input\_node\_termination\_handler\_sqs\_queue\_arns) | List of SQS ARNs that contain node termination events | `list(string)` | <pre>[<br> "*"<br>]</pre> | no |
170171
| <a name="input_oidc_providers"></a> [oidc\_providers](#input\_oidc\_providers) | Map of OIDC providers where each provdier map should contain the `provider`, `provider_arns`, and `namespace_service_accounts` | `any` | `{}` | no |

modules/iam-role-for-service-accounts-eks/policies.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ data "aws_iam_policy_document" "karpenter_controller" {
454454

455455
condition {
456456
test = "StringEquals"
457-
variable = "ec2:ResourceTag/karpenter.sh/discovery"
457+
variable = "ec2:ResourceTag/${var.karpenter_tag_key}"
458458
values = [var.karpenter_controller_cluster_id]
459459
}
460460
}
@@ -469,7 +469,7 @@ data "aws_iam_policy_document" "karpenter_controller" {
469469

470470
condition {
471471
test = "StringEquals"
472-
variable = "ec2:ResourceTag/karpenter.sh/discovery"
472+
variable = "ec2:ResourceTag/${var.karpenter_tag_key}"
473473
values = [var.karpenter_controller_cluster_id]
474474
}
475475
}

modules/iam-role-for-service-accounts-eks/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,12 @@ variable "karpenter_controller_cluster_id" {
165165
default = "*"
166166
}
167167

168+
variable "karpenter_tag_key" {
169+
description = "Tag key (`{key = value}`) applied to resources launched by Karpenter through the Karpenter provisioner"
170+
type = string
171+
default = "karpenter.sh/discovery"
172+
}
173+
168174
variable "karpenter_controller_ssm_parameter_arns" {
169175
description = "List of SSM Parameter ARNs that contain AMI IDs launched by Karpenter"
170176
type = list(string)

0 commit comments

Comments
 (0)