| # 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 = {} | |
| } | |