mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-03-24 10:21:08 +01:00
feat: Add optional list of policy ARNs for attachment to Karpenter IRSA (#2537)
Co-authored-by: Bryant Biggs <bryantbiggs@gmail.com>
This commit is contained in:
committed by
GitHub
parent
c013f7bfbc
commit
bd387d69fa
@@ -124,6 +124,7 @@ No modules.
|
||||
| [aws_iam_role.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
|
||||
| [aws_iam_role_policy_attachment.additional](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
|
||||
| [aws_iam_role_policy_attachment.irsa](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
|
||||
| [aws_iam_role_policy_attachment.irsa_additional](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
|
||||
| [aws_iam_role_policy_attachment.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
|
||||
| [aws_sqs_queue.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
|
||||
| [aws_sqs_queue_policy.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) | resource |
|
||||
@@ -169,6 +170,7 @@ No modules.
|
||||
| <a name="input_irsa_tag_key"></a> [irsa\_tag\_key](#input\_irsa\_tag\_key) | Tag key (`{key = value}`) applied to resources launched by Karpenter through the Karpenter provisioner | `string` | `"karpenter.sh/discovery"` | no |
|
||||
| <a name="input_irsa_tags"></a> [irsa\_tags](#input\_irsa\_tags) | A map of additional tags to add the the IAM role for service accounts | `map(any)` | `{}` | no |
|
||||
| <a name="input_irsa_use_name_prefix"></a> [irsa\_use\_name\_prefix](#input\_irsa\_use\_name\_prefix) | Determines whether the IAM role for service accounts name (`irsa_name`) is used as a prefix | `bool` | `true` | no |
|
||||
| <a name="input_policies"></a> [policies](#input\_policies) | Policies to attach to the IAM role in `{'static_name' = 'policy_arn'}` format | `map(string)` | `{}` | no |
|
||||
| <a name="input_queue_kms_data_key_reuse_period_seconds"></a> [queue\_kms\_data\_key\_reuse\_period\_seconds](#input\_queue\_kms\_data\_key\_reuse\_period\_seconds) | The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again | `number` | `null` | no |
|
||||
| <a name="input_queue_kms_master_key_id"></a> [queue\_kms\_master\_key\_id](#input\_queue\_kms\_master\_key\_id) | The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK | `string` | `null` | no |
|
||||
| <a name="input_queue_managed_sse_enabled"></a> [queue\_managed\_sse\_enabled](#input\_queue\_managed\_sse\_enabled) | Boolean to enable server-side encryption (SSE) of message content with SQS-owned encryption keys | `bool` | `true` | no |
|
||||
|
||||
@@ -175,6 +175,13 @@ resource "aws_iam_role_policy_attachment" "irsa" {
|
||||
policy_arn = aws_iam_policy.irsa[0].arn
|
||||
}
|
||||
|
||||
resource "aws_iam_role_policy_attachment" "irsa_additional" {
|
||||
for_each = { for k, v in var.policies : k => v if local.create_irsa }
|
||||
|
||||
role = aws_iam_role.irsa[0].name
|
||||
policy_arn = each.value
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Node Termination Queue
|
||||
################################################################################
|
||||
|
||||
@@ -74,6 +74,12 @@ variable "irsa_tags" {
|
||||
default = {}
|
||||
}
|
||||
|
||||
variable "policies" {
|
||||
description = "Policies to attach to the IAM role in `{'static_name' = 'policy_arn'}` format"
|
||||
type = map(string)
|
||||
default = {}
|
||||
}
|
||||
|
||||
variable "irsa_tag_key" {
|
||||
description = "Tag key (`{key = value}`) applied to resources launched by Karpenter through the Karpenter provisioner"
|
||||
type = string
|
||||
|
||||
Reference in New Issue
Block a user