19
19
# ---------------------------------------------------------------------------------------------------------------------
20
20
# Invoking Helm Module
21
21
# ---------------------------------------------------------------------------------------------------------------------
22
- module "kubernetes_addons" {
23
- count = var. create_eks ? 1 : 0
24
-
25
- source = " ./kubernetes-addons"
26
- eks_cluster_id = module. aws_eks . cluster_id
27
- public_docker_repo = var. public_docker_repo
28
- private_container_repo_url = var. private_container_repo_url != " " ? var. private_container_repo_url : local. ecr_image_repo_url
22
+ module "metrics_server" {
23
+ count = var. create_eks && var. metrics_server_enable ? 1 : 0
24
+ source = " ./kubernetes-addons/metrics-server"
25
+ metrics_server_helm_chart = var. metrics_server_helm_chart
29
26
30
- # ------- Traefik Ingress Controller
31
- traefik_ingress_controller_enable = var. traefik_ingress_controller_enable
32
- traefik_helm_chart = var. traefik_helm_chart
27
+ depends_on = [module . aws_eks ]
28
+ }
33
29
34
- # ------- Cluster Autoscaler
35
- cluster_autoscaler_enable = var. cluster_autoscaler_enable
30
+ module "cluster_autoscaler" {
31
+ count = var. create_eks && var. cluster_autoscaler_enable ? 1 : 0
32
+ source = " ./kubernetes-addons/cluster-autoscaler"
33
+ eks_cluster_id = module. aws_eks . cluster_id
36
34
cluster_autoscaler_helm_chart = var. cluster_autoscaler_helm_chart
37
35
38
- # ------- Metric Server
39
- metrics_server_enable = var. metrics_server_enable
40
- metrics_server_helm_chart = var. metrics_server_helm_chart
36
+ depends_on = [module . aws_eks ]
37
+ }
38
+
39
+ module "traefik_ingress" {
40
+ count = var. create_eks && var. traefik_ingress_controller_enable ? 1 : 0
41
+ source = " ./kubernetes-addons/traefik-ingress"
42
+ traefik_helm_chart = var. traefik_helm_chart
41
43
42
- # ------- AWS LB Controller
43
- aws_lb_ingress_controller_enable = var. aws_lb_ingress_controller_enable
44
- aws_lb_image_tag = var. aws_lb_image_tag
45
- aws_lb_helm_chart_version = var. aws_lb_helm_chart_version
46
- eks_oidc_issuer_url = module. aws_eks . cluster_oidc_issuer_url
47
- eks_oidc_provider_arn = module. aws_eks . oidc_provider_arn
48
- aws_lb_helm_repo_url = var. aws_lb_helm_repo_url
49
- aws_lb_helm_helm_chart_name = var. aws_lb_helm_helm_chart_name
50
- aws_lb_image_repo_name = var. aws_lb_image_repo_name
51
-
52
- # ------- Nginx Ingress Controller
53
- nginx_ingress_controller_enable = var. nginx_ingress_controller_enable
54
- nginx_helm_chart_version = var. nginx_helm_chart_version
55
- nginx_image_tag = var. nginx_image_tag
56
- nginx_helm_chart_url = var. nginx_helm_chart_url
57
- nginx_helm_chart_name = var. nginx_helm_chart_name
58
- nginx_image_repo_name = var. nginx_image_repo_name
59
-
60
- # ------- AWS Fluent bit for Node Groups
61
- aws_for_fluent_bit_enable = var. aws_for_fluent_bit_enable
44
+ depends_on = [module . aws_eks ]
45
+ }
46
+
47
+ module "prometheus" {
48
+ count = var. create_eks && var. prometheus_enable ? 1 : 0
49
+ source = " ./kubernetes-addons/prometheus"
50
+ prometheus_helm_chart = var. prometheus_helm_chart
51
+ # AWS Managed Prometheus Workspace
52
+ aws_managed_prometheus_enable = var. aws_managed_prometheus_enable
53
+ amp_workspace_id = var. aws_managed_prometheus_enable ? module. aws_managed_prometheus [0 ]. amp_workspace_id : " "
54
+ amp_ingest_role_arn = var. aws_managed_prometheus_enable ? module. aws_managed_prometheus [0 ]. service_account_amp_ingest_role_arn : " "
55
+ service_account_amp_ingest_name = local. service_account_amp_ingest_name
56
+
57
+ depends_on = [module . aws_eks ]
58
+ }
59
+
60
+ # TODO Upgrade
61
+ module "lb_ingress_controller" {
62
+ count = var. create_eks && var. aws_lb_ingress_controller_enable ? 1 : 0
63
+ source = " ./kubernetes-addons/lb-ingress-controller"
64
+
65
+ private_container_repo_url = var. private_container_repo_url
66
+ clusterName = module. aws_eks . cluster_id
67
+ eks_oidc_issuer_url = module. aws_eks . cluster_oidc_issuer_url
68
+ eks_oidc_provider_arn = module. aws_eks . oidc_provider_arn
69
+ public_docker_repo = var. public_docker_repo
70
+ aws_lb_image_tag = var. aws_lb_image_tag
71
+ aws_lb_helm_chart_version = var. aws_lb_helm_chart_version
72
+ aws_lb_image_repo_name = var. aws_lb_image_repo_name
73
+ aws_lb_helm_repo_url = var. aws_lb_helm_repo_url
74
+ aws_lb_helm_helm_chart_name = var. aws_lb_helm_helm_chart_name
75
+
76
+ depends_on = [module . aws_eks ]
77
+ }
78
+
79
+ # TODO Upgrade
80
+ module "nginx_ingress" {
81
+ count = var. create_eks && var. nginx_ingress_controller_enable ? 1 : 0
82
+ source = " ./kubernetes-addons/nginx-ingress"
83
+
84
+ private_container_repo_url = var. private_container_repo_url
85
+ account_id = data. aws_caller_identity . current . account_id
86
+ public_docker_repo = var. public_docker_repo
87
+ nginx_helm_chart_version = var. nginx_helm_chart_version
88
+ nginx_image_tag = var. nginx_image_tag
89
+ nginx_image_repo_name = var. nginx_image_repo_name
90
+ depends_on = [module . aws_eks ]
91
+ }
92
+
93
+ # TODO Upgrade
94
+ module "aws-for-fluent-bit" {
95
+ count = var. create_eks && var. aws_for_fluent_bit_enable ? 1 : 0
96
+ source = " ./kubernetes-addons/aws-for-fluent-bit"
97
+
98
+ private_container_repo_url = var. private_container_repo_url
99
+ cluster_id = module. aws_eks . cluster_id
62
100
ekslog_retention_in_days = var. ekslog_retention_in_days
101
+ public_docker_repo = var. public_docker_repo
63
102
aws_for_fluent_bit_image_tag = var. aws_for_fluent_bit_image_tag
64
103
aws_for_fluent_bit_helm_chart_version = var. aws_for_fluent_bit_helm_chart_version
65
- aws_for_fluent_bit_helm_chart_url = var. aws_for_fluent_bit_helm_chart_url
66
- aws_for_fluent_bit_helm_chart_name = var. aws_for_fluent_bit_helm_chart_name
67
104
aws_for_fluent_bit_image_repo_name = var. aws_for_fluent_bit_image_repo_name
68
105
106
+ depends_on = [module . aws_eks ]
107
+ }
108
+
109
+ # TODO Upgrade
110
+ module "fargate_fluentbit" {
111
+ count = var. create_eks && var. fargate_fluent_bit_enable ? 1 : 0
112
+ source = " ./kubernetes-addons/fargate-fluentbit"
113
+ eks_cluster_id = module. aws_eks . cluster_id
114
+
115
+ depends_on = [module . aws_eks ]
116
+ }
69
117
70
- # ------- AWS Fluentbit for Fargate
71
- fargate_fluent_bit_enable = var. enable_fargate ? var. fargate_fluent_bit_enable : false
118
+ # TODO Upgrade
119
+ module "agones" {
120
+ count = var. create_eks && var. agones_enable ? 1 : 0
121
+ source = " ./kubernetes-addons/agones"
72
122
73
- # ------- Agones Gaming Module ---------
74
- agones_enable = var. agones_enable
123
+ public_docker_repo = var. public_docker_repo
124
+ private_container_repo_url = var. private_container_repo_url
125
+ cluster_id = module. aws_eks . cluster_id
75
126
expose_udp = var. expose_udp
76
- eks_security_group_id = module. aws_eks . worker_security_group_id
77
- agones_helm_chart_name = var. agones_helm_chart_name
78
- agones_helm_chart_url = var. agones_helm_chart_url
79
- agones_image_tag = var. agones_image_tag
80
- agones_image_repo = var. agones_image_repo
81
- agones_game_server_minport = var. agones_game_server_minport
82
- agones_game_server_maxport = var. agones_game_server_maxport
83
-
84
- # ------- Prometheus Module ---------
85
- prometheus_enable = var. prometheus_enable
86
- alert_manager_image_tag = var. alert_manager_image_tag
87
- configmap_reload_image_tag = var. configmap_reload_image_tag
88
- node_exporter_image_tag = var. node_exporter_image_tag
89
- prometheus_helm_chart_version = var. prometheus_helm_chart_version
90
- prometheus_image_tag = var. prometheus_image_tag
91
- pushgateway_image_tag = var. pushgateway_image_tag
92
- amp_ingest_role_arn = var. prometheus_enable ? module. aws_managed_prometheus [0 ]. service_account_amp_ingest_role_arn : " "
93
- service_account_amp_ingest_name = format (" %s-%s" , module. aws_eks . cluster_id , " amp-ingest-account" )
94
- amp_workspace_id = var. prometheus_enable ? module. aws_managed_prometheus [0 ]. amp_workspace_id : " "
95
- region = data. aws_region . current . id
96
- prometheus_helm_chart_url = var. prometheus_helm_chart_url
97
- prometheus_helm_chart_name = var. prometheus_helm_chart_name
98
-
99
- # ------- Cert Manager ---------
100
- # Cert Manager is a pre-requisite for Windows support
101
- cert_manager_enable = var. cert_manager_enable || var. enable_windows_support
102
- cert_manager_image_tag = var. cert_manager_image_tag
127
+ eks_sg_id = module. aws_eks . worker_security_group_id
128
+
129
+ depends_on = [module . aws_eks ]
130
+ }
131
+
132
+ # TODO Upgrade
133
+ module "cert_manager" {
134
+ count = var. create_eks && var. cert_manager_enable ? 1 : 0
135
+ source = " ./kubernetes-addons/cert-manager"
136
+
137
+ private_container_repo_url = var. private_container_repo_url
138
+ public_docker_repo = var. public_docker_repo
103
139
cert_manager_helm_chart_version = var. cert_manager_helm_chart_version
140
+ cert_manager_image_tag = var. cert_manager_image_tag
104
141
cert_manager_install_crds = var. cert_manager_install_crds
105
142
cert_manager_helm_chart_name = var. cert_manager_helm_chart_name
106
143
cert_manager_helm_chart_url = var. cert_manager_helm_chart_url
107
144
cert_manager_image_repo_name = var. cert_manager_image_repo_name
108
145
109
- # ------- Windows VPC Controllers ---------
110
- windows_vpc_controllers_enable = var. enable_windows_support
111
- windows_vpc_resource_controller_image_tag = var. windows_vpc_resource_controller_image_tag
112
- windows_vpc_admission_webhook_image_tag = var. windows_vpc_admission_webhook_image_tag
146
+ depends_on = [module . aws_eks ]
147
+ }
113
148
114
- # ------- AWS Distro for OpenTelemetry Collector in EKS Module ---------
115
- aws_open_telemetry_enable = var. aws_open_telemetry_enable
116
- aws_open_telemetry_namespace = var. aws_open_telemetry_namespace
117
- aws_open_telemetry_aws_region = var. aws_open_telemetry_aws_region
118
- aws_open_telemetry_collector_image = var. aws_open_telemetry_collector_image
149
+ # TODO Upgrade
150
+ module "windows_vpc_controllers" {
151
+ count = var. create_eks && var. enable_windows_support ? 1 : 0
152
+ source = " ./kubernetes-addons/windows-vpc-controllers"
153
+
154
+ private_container_repo_url = var. private_container_repo_url
155
+ public_docker_repo = var. public_docker_repo
156
+ resource_controller_image_tag = var. windows_vpc_resource_controller_image_tag
157
+ admission_webhook_image_tag = var. windows_vpc_admission_webhook_image_tag
158
+ depends_on = [
159
+ module . cert_manager , module . aws_eks
160
+ ]
161
+ }
162
+
163
+ # TODO Upgrade
164
+ module "aws_opentelemetry_collector" {
165
+ count = var. create_eks && var. aws_open_telemetry_enable ? 1 : 0
166
+ source = " ./kubernetes-addons/aws-otel-eks"
167
+
168
+ aws_open_telemetry_aws_region = var. aws_open_telemetry_aws_region == " " ? data. aws_region . current . id : var. aws_open_telemetry_aws_region
119
169
aws_open_telemetry_emitter_image = var. aws_open_telemetry_emitter_image
170
+ aws_open_telemetry_collector_image = var. aws_open_telemetry_collector_image
120
171
aws_open_telemetry_emitter_oltp_endpoint = var. aws_open_telemetry_emitter_oltp_endpoint
121
- aws_open_telemetry_mg_node_iam_role_arns = var. create_eks && var . enable_managed_nodegroups ? values ({ for nodes in sort ( keys (var . managed_node_groups )) : nodes => join ( " , " , module . aws_eks_managed_node_groups [ nodes ] . managed_nodegroup_iam_role_name ) }) : []
122
- aws_open_telemetry_self_mg_node_iam_role_arns = var. create_eks && var . enable_self_managed_nodegroups ? values ({ for nodes in sort ( keys (var . self_managed_node_groups )) : nodes => join ( " , " , module . aws_eks_self_managed_node_groups [ nodes ] . self_managed_iam_role_name ) }) : []
172
+ aws_open_telemetry_mg_node_iam_role_arns = var. aws_open_telemetry_mg_node_iam_role_arns
173
+ aws_open_telemetry_self_mg_node_iam_role_arns = var. aws_open_telemetry_self_mg_node_iam_role_arns
123
174
aws_open_telemetry_emitter_name = var. aws_open_telemetry_emitter_name
124
175
aws_open_telemetry_emitter_otel_resource_attributes = var. aws_open_telemetry_emitter_otel_resource_attributes
125
176
126
- # ------- OpenTelemetry Module ---------
127
- opentelemetry_enable = var. opentelemetry_enable
177
+ depends_on = [module . aws_eks ]
178
+ }
179
+
180
+ # TODO Upgrade
181
+ module "opentelemetry_collector" {
182
+ count = var. create_eks && var. opentelemetry_enable ? 1 : 0
183
+ source = " ./kubernetes-addons/opentelemetry-collector"
184
+
185
+ private_container_repo_url = var. private_container_repo_url
186
+ public_docker_repo = var. public_docker_repo
128
187
opentelemetry_command_name = var. opentelemetry_command_name
129
188
opentelemetry_helm_chart = var. opentelemetry_helm_chart
189
+ opentelemetry_helm_chart_url = var. opentelemetry_helm_chart_url
130
190
opentelemetry_image = var. opentelemetry_image
131
191
opentelemetry_image_tag = var. opentelemetry_image_tag
132
192
opentelemetry_helm_chart_version = var. opentelemetry_helm_chart_version
@@ -136,9 +196,6 @@ module "kubernetes_addons" {
136
196
opentelemetry_enable_container_logs = var. opentelemetry_enable_container_logs
137
197
opentelemetry_min_standalone_collectors = var. opentelemetry_min_standalone_collectors
138
198
opentelemetry_max_standalone_collectors = var. opentelemetry_max_standalone_collectors
139
- opentelemetry_helm_chart_url = var. opentelemetry_helm_chart_url
140
-
141
199
142
200
depends_on = [module . aws_eks ]
143
-
144
201
}
0 commit comments