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
77
78
79
80
81
82
83
84
85
86
87
|
variable "cluster_name" {
description = "EKS cluster name"
type = string
}
variable "kubernetes_version" {
description = "Kubernetes version"
type = string
default = "1.30"
}
variable "subnet_ids" {
description = "Subnet IDs for the cluster control plane ENIs"
type = list(string)
}
variable "security_group_ids" {
description = "Additional security group IDs for the cluster"
type = list(string)
default = []
}
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 = false
}
variable "public_access_cidrs" {
description = "CIDR blocks for public API access (requires endpoint_public_access = true)"
type = list(string)
default = []
}
variable "cluster_log_types" {
description = "Control plane log types to enable"
type = list(string)
default = ["api", "audit", "authenticator", "controllerManager", "scheduler"]
}
variable "secrets_encryption_kms_key_arn" {
description = "KMS key ARN for encrypting Kubernetes secrets"
type = string
default = null
}
variable "cluster_addons" {
description = "Map of EKS add-ons to install"
type = map(object({
version = optional(string, null)
resolve_conflicts = optional(string, "OVERWRITE")
service_account_role_arn = optional(string, null)
}))
default = {
vpc-cni = {}
coredns = {}
kube-proxy = {}
aws-ebs-csi-driver = {}
}
}
variable "access_entries" {
description = "Map of IAM principal ARNs to cluster access entry configurations"
type = map(object({
principal_arn = string
type = optional(string, "STANDARD")
kubernetes_groups = optional(list(string), [])
policy_associations = optional(list(object({
policy_arn = string
access_scope = optional(string, "cluster")
namespaces = optional(list(string), [])
})), [])
}))
default = {}
}
variable "tags" {
description = "Resource tags to apply to all resources"
type = map(string)
default = {}
}
|