File size: 1,649 Bytes
7c19d46 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # EKS Module Variables
variable "cluster_name" {
description = "EKS cluster name"
type = string
}
variable "kubernetes_version" {
description = "Kubernetes version"
type = string
default = "1.29"
}
variable "private_subnet_ids" {
description = "Private subnet IDs for EKS"
type = list(string)
}
variable "cluster_security_group_id" {
description = "Cluster security group ID"
type = string
}
variable "endpoint_public_access" {
description = "Enable public API endpoint"
type = bool
default = false
}
variable "endpoint_public_access_cidrs" {
description = "CIDRs allowed for public API access"
type = list(string)
default = []
}
variable "kms_key_arn" {
description = "KMS key ARN for secret encryption"
type = string
}
variable "node_groups" {
description = "Map of node group configurations"
type = map(object({
instance_types = list(string)
ami_type = string # AL2023_x86_64, BOTTLEROCKET_x86_64, etc.
capacity_type = string # ON_DEMAND, SPOT
disk_size = number
desired_size = number
min_size = number
max_size = number
labels = map(string)
taints = list(object({
key = string
value = string
effect = string
}))
}))
default = {}
}
variable "irsa_roles" {
description = "Map of IRSA role configurations"
type = map(object({
namespace = string
service_account = string
policy_arn = string
}))
default = {}
}
variable "tags" {
description = "Common tags"
type = map(string)
default = {}
}
|