mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-01-15 08:14:12 +01:00
feat: Add node repair config to managed node group (#3271)
* feat: add var.node_repair_config to eks-managed-node-group Fixes terraform-aws-modules/terraform-aws-eks#3249 * chore: run terraform-docs * chore: update examples/eks-managed-node-group * fix: Correct implementation --------- Co-authored-by: Bryant Biggs <bryantbiggs@gmail.com>
This commit is contained in:
@@ -318,7 +318,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
| <a name="requirement_time"></a> [time](#requirement\_time) | >= 0.9 |
|
||||
| <a name="requirement_tls"></a> [tls](#requirement\_tls) | >= 3.0 |
|
||||
|
||||
@@ -326,7 +326,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
| <a name="provider_time"></a> [time](#provider\_time) | >= 0.9 |
|
||||
| <a name="provider_tls"></a> [tls](#provider\_tls) | >= 3.0 |
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ Note that this example may create resources which cost money. Run `terraform des
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ Note that this example may create resources which cost money. Run `terraform des
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.16 |
|
||||
| <a name="requirement_http"></a> [http](#requirement\_http) | >= 3.4 |
|
||||
| <a name="requirement_local"></a> [local](#requirement\_local) | >= 2.5 |
|
||||
@@ -36,8 +36,8 @@ Note that this example may create resources which cost money. Run `terraform des
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws.remote"></a> [aws.remote](#provider\_aws.remote) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
| <a name="provider_aws.remote"></a> [aws.remote](#provider\_aws.remote) | >= 5.83 |
|
||||
| <a name="provider_helm"></a> [helm](#provider\_helm) | >= 2.16 |
|
||||
| <a name="provider_http"></a> [http](#provider\_http) | >= 3.4 |
|
||||
| <a name="provider_local"></a> [local](#provider\_local) | >= 2.5 |
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
helm = {
|
||||
source = "hashicorp/helm"
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,15 +94,15 @@ Note that this example may create resources which cost money. Run `terraform des
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.7 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws.virginia"></a> [aws.virginia](#provider\_aws.virginia) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
| <a name="provider_aws.virginia"></a> [aws.virginia](#provider\_aws.virginia) | >= 5.83 |
|
||||
| <a name="provider_helm"></a> [helm](#provider\_helm) | >= 2.7 |
|
||||
|
||||
## Modules
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
helm = {
|
||||
source = "hashicorp/helm"
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,13 +64,13 @@ module "eks_managed_node_group" {
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
@@ -170,6 +170,7 @@ module "eks_managed_node_group" {
|
||||
| <a name="input_min_size"></a> [min\_size](#input\_min\_size) | Minimum number of instances/nodes | `number` | `0` | no |
|
||||
| <a name="input_name"></a> [name](#input\_name) | Name of the EKS managed node group | `string` | `""` | no |
|
||||
| <a name="input_network_interfaces"></a> [network\_interfaces](#input\_network\_interfaces) | Customize network interfaces to be attached at instance boot time | `list(any)` | `[]` | no |
|
||||
| <a name="input_node_repair_config"></a> [node\_repair\_config](#input\_node\_repair\_config) | The node auto repair configuration for the node group | <pre>object({<br/> enabled = optional(bool, true)<br/> })</pre> | `null` | no |
|
||||
| <a name="input_placement"></a> [placement](#input\_placement) | The placement of the instance | `map(string)` | `{}` | no |
|
||||
| <a name="input_placement_group_az"></a> [placement\_group\_az](#input\_placement\_group\_az) | Availability zone where placement group is created (ex. `eu-west-1c`) | `string` | `null` | no |
|
||||
| <a name="input_placement_group_strategy"></a> [placement\_group\_strategy](#input\_placement\_group\_strategy) | The placement group strategy | `string` | `"cluster"` | no |
|
||||
|
||||
@@ -458,6 +458,14 @@ resource "aws_eks_node_group" "this" {
|
||||
}
|
||||
}
|
||||
|
||||
dynamic "node_repair_config" {
|
||||
for_each = var.node_repair_config != null ? [var.node_repair_config] : []
|
||||
|
||||
content {
|
||||
enabled = node_repair_config.value.enabled
|
||||
}
|
||||
}
|
||||
|
||||
timeouts {
|
||||
create = lookup(var.timeouts, "create", null)
|
||||
update = lookup(var.timeouts, "update", null)
|
||||
|
||||
@@ -468,6 +468,14 @@ variable "update_config" {
|
||||
}
|
||||
}
|
||||
|
||||
variable "node_repair_config" {
|
||||
description = "The node auto repair configuration for the node group"
|
||||
type = object({
|
||||
enabled = optional(bool, true)
|
||||
})
|
||||
default = null
|
||||
}
|
||||
|
||||
variable "timeouts" {
|
||||
description = "Create, update, and delete timeout configurations for the node group"
|
||||
type = map(string)
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,13 +29,13 @@ module "fargate_profile" {
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,13 +75,13 @@ module "eks_hybrid_node_role" {
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,13 +86,13 @@ module "karpenter" {
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,13 +43,13 @@ module "self_managed_node_group" {
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,11 +323,11 @@ module "eks_managed_node_group" {
|
||||
force_update_version = try(each.value.force_update_version, var.eks_managed_node_group_defaults.force_update_version, null)
|
||||
instance_types = try(each.value.instance_types, var.eks_managed_node_group_defaults.instance_types, null)
|
||||
labels = try(each.value.labels, var.eks_managed_node_group_defaults.labels, null)
|
||||
|
||||
remote_access = try(each.value.remote_access, var.eks_managed_node_group_defaults.remote_access, {})
|
||||
taints = try(each.value.taints, var.eks_managed_node_group_defaults.taints, {})
|
||||
update_config = try(each.value.update_config, var.eks_managed_node_group_defaults.update_config, local.default_update_config)
|
||||
timeouts = try(each.value.timeouts, var.eks_managed_node_group_defaults.timeouts, {})
|
||||
node_repair_config = try(each.value.node_repair_config, var.eks_managed_node_group_defaults.node_repair_config, null)
|
||||
remote_access = try(each.value.remote_access, var.eks_managed_node_group_defaults.remote_access, {})
|
||||
taints = try(each.value.taints, var.eks_managed_node_group_defaults.taints, {})
|
||||
update_config = try(each.value.update_config, var.eks_managed_node_group_defaults.update_config, local.default_update_config)
|
||||
timeouts = try(each.value.timeouts, var.eks_managed_node_group_defaults.timeouts, {})
|
||||
|
||||
# User data
|
||||
platform = try(each.value.platform, var.eks_managed_node_group_defaults.platform, "linux")
|
||||
|
||||
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Note that this example may create resources which cost money. Run `terraform des
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
| <a name="requirement_tls"></a> [tls](#requirement\_tls) | >= 4.0 |
|
||||
|
||||
## Providers
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
tls = {
|
||||
source = "hashicorp/tls"
|
||||
|
||||
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
|
||||
@@ -52,6 +52,9 @@ module "eks" {
|
||||
coredns = {
|
||||
most_recent = true
|
||||
}
|
||||
eks-node-monitoring-agent = {
|
||||
most_recent = true
|
||||
}
|
||||
eks-pod-identity-agent = {
|
||||
before_compute = true
|
||||
most_recent = true
|
||||
@@ -289,6 +292,10 @@ module "eks" {
|
||||
instance_metadata_tags = "disabled"
|
||||
}
|
||||
|
||||
node_repair_config = {
|
||||
enabled = true
|
||||
}
|
||||
|
||||
create_iam_role = true
|
||||
iam_role_name = "eks-managed-node-group-complete-example"
|
||||
iam_role_use_name_prefix = false
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,13 +22,13 @@ Note that this example may create resources which cost money. Run `terraform des
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.81 |
|
||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.83 |
|
||||
|
||||
## Providers
|
||||
|
||||
| Name | Version |
|
||||
|------|---------|
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.81 |
|
||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.83 |
|
||||
|
||||
## Modules
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = ">= 5.81"
|
||||
version = ">= 5.83"
|
||||
}
|
||||
tls = {
|
||||
source = "hashicorp/tls"
|
||||
|
||||
Reference in New Issue
Block a user