@@ -38,11 +38,43 @@ resource "aws_eks_cluster" "cluster" {
3838 }
3939 }
4040 }
41+ # Compute Config (conditional setup for Auto Mode)
42+ dynamic "compute_config" {
43+ for_each = var. eks_auto_mode_enabled ? [1 ] : []
44+ content {
45+ enabled = true
46+ node_pools = [" system" ]
47+ node_role_arn = aws_iam_role. node . arn
48+ }
49+ }
50+ # Kubernetes Network Config (Auto Mode specific)
51+ dynamic "kubernetes_network_config" {
52+ for_each = var. eks_auto_mode_enabled ? [1 ] : []
53+ content {
54+ elastic_load_balancing {
55+ enabled = true
56+ }
57+ }
58+ }
59+ # Storage Config (Auto Mode specific)
60+ dynamic "storage_config" {
61+ for_each = var. eks_auto_mode_enabled ? [1 ] : []
62+ content {
63+ block_storage {
64+ enabled = true
65+ }
66+ }
67+ }
68+
4169 enabled_cluster_log_types = var. cluster_logging
4270
4371 depends_on = [
4472 aws_iam_role_policy_attachment . cluster-AmazonEKSClusterPolicy ,
4573 aws_iam_role_policy_attachment . cluster-AmazonEKSServicePolicy ,
74+ aws_iam_role_policy_attachment . cluster_AmazonEKSComputePolicy ,
75+ aws_iam_role_policy_attachment . cluster_AmazonEKSBlockStoragePolicy ,
76+ aws_iam_role_policy_attachment . cluster_AmazonEKSLoadBalancingPolicy ,
77+ aws_iam_role_policy_attachment . cluster_AmazonEKSNetworkingPolicy ,
4678 ]
4779
4880 tags = local. tags
@@ -105,6 +137,26 @@ resource "aws_iam_role_policy_attachment" "cluster-AmazonEKSServicePolicy" {
105137 role = aws_iam_role. cluster . name
106138}
107139
140+ resource "aws_iam_role_policy_attachment" "cluster_AmazonEKSComputePolicy" {
141+ policy_arn = " arn:aws:iam::aws:policy/AmazonEKSComputePolicy"
142+ role = aws_iam_role. cluster . name
143+ }
144+
145+ resource "aws_iam_role_policy_attachment" "cluster_AmazonEKSLoadBalancingPolicy" {
146+ policy_arn = " arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy"
147+ role = aws_iam_role. cluster . name
148+ }
149+
150+ resource "aws_iam_role_policy_attachment" "cluster_AmazonEKSNetworkingPolicy" {
151+ policy_arn = " arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy"
152+ role = aws_iam_role. cluster . name
153+ }
154+
155+ resource "aws_iam_role_policy_attachment" "cluster_AmazonEKSBlockStoragePolicy" {
156+ policy_arn = " arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy"
157+ role = aws_iam_role. cluster . name
158+ }
159+
108160resource "helm_release" "calico" {
109161 count = var. calico_enabled ? 1 : 0
110162
0 commit comments