From c91e833ccba15a311e23cc21709cdefaf90b4398 Mon Sep 17 00:00:00 2001 From: Saumit Date: Sun, 28 Sep 2025 04:19:42 +0530 Subject: eks: Add EKS cluster and node group configuration with IAM roles and policies --- astroshop-terraform/modules/eks/variables.tf | 63 ++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 astroshop-terraform/modules/eks/variables.tf (limited to 'astroshop-terraform/modules/eks/variables.tf') diff --git a/astroshop-terraform/modules/eks/variables.tf b/astroshop-terraform/modules/eks/variables.tf new file mode 100644 index 0000000..88a052f --- /dev/null +++ b/astroshop-terraform/modules/eks/variables.tf @@ -0,0 +1,63 @@ +variable "cluster_name" { + description = "The name of the EKS cluster" + type = string +} + +variable "cluster_version" { + description = "Kubernetes version for the EKS cluster" + type = string + default = "1.32" +} + +variable "vpc_id" { + description = "VPC ID where the cluster will be created" + type = string +} + +variable "subnet_ids" { + description = "Private subnet IDs for the EKS cluster" + type = list(string) +} + +variable "node_groups" { + description = "EKS node group configuration" + type = map(object({ + instance_types = list(string) + capacity_type = string + scaling_config = object({ + desired_size = number + max_size = number + min_size = number + }) + })) + + default = { + general = { + instance_types = ["m7i-flex.large"] + capacity_type = "ON_DEMAND" + scaling_config = { + desired_size = 2 + max_size = 3 + min_size = 1 + } + } + } +} + +variable "endpoint_private_access" { + description = "Enable private API server endpoint" + type = bool + default = true +} + +variable "endpoint_public_access" { + description = "Enable public API server endpoint" + type = bool + default = true +} + +variable "public_access_cidrs" { + description = "List of CIDR blocks that can access the public API endpoint" + type = list(string) + default = [] # CHANGE THIS TO YOUR IP RANGE IN PRODUCTION +} -- cgit v1.2.3