shaikhsalman's picture
refactor: merged structure - model at center, DevSecOps wrapped around it
9d4d5c7 verified
# 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 = {}
}