Skip to content

Commit bdc660e

Browse files
authored
Merge pull request #95 from squareops/release-4.0.2
Release 4.0.2
2 parents 3f799aa + f7d6290 commit bdc660e

File tree

5 files changed

+88
-23
lines changed

5 files changed

+88
-23
lines changed

README.md

Lines changed: 83 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,27 @@ This module provides a set of reusable, configurable, and scalable AWS EKS addon
1111
```hcl
1212
module "eks-addons" {
1313
source = "squareops/eks-addons/aws"
14-
version = "3.1.1"
14+
version = "4.0.2"
1515
name = local.name
1616
tags = local.additional_tags
17-
vpc_id = "vpc-xxxxxx" # pass VPC ID
18-
private_subnet_ids = ["subnet-xxxxx", "subnet-xxxxx"] # pass Subnet IDs
17+
vpc_id = local.vpc_id
18+
private_subnet_ids = local.private_subnet_ids # pass the private subnet IDs
19+
public_subnet_ids = local.public_subnet_ids # pass the private subnet IDs
1920
environment = local.environment
2021
ipv6_enabled = local.ipv6_enabled
2122
kms_key_arn = local.kms_key_arn
22-
kms_policy_arn = "arn:aws:iam::xxx:policy/eks-kms-policy" # eks module will create kms_policy_arn
23-
worker_iam_role_name = "eks-node-role" # enter role name created by eks module
24-
worker_iam_role_arn = "arn:aws:iam::xxx:role/eks-node-role" # enter roll ARN
23+
kms_policy_arn = local.kms_policy_arn
24+
worker_iam_role_arn = local.worker_iam_role_arn
25+
worker_iam_role_name = local.worker_iam_role_name
2526
eks_cluster_name = data.aws_eks_cluster.cluster.name
2627
2728
#VPC-CNI-DRIVER
28-
amazon_eks_vpc_cni_enabled = false # enable VPC-CNI
29+
amazon_eks_vpc_cni_enabled = true # enable VPC-CNI
30+
vpc_cni_version = "v1.19.2-eksbuild.1"
2931
3032
#EBS-CSI-DRIVER
3133
enable_amazon_eks_aws_ebs_csi_driver = false # enable EBS CSI Driver
34+
ebs_csi_driver_version = "v1.36.0-eksbuild.1"
3235
amazon_eks_aws_ebs_csi_driver_config = {
3336
values = [file("${path.module}/config/ebs-csi.yaml")]
3437
}
@@ -39,37 +42,47 @@ module "eks-addons" {
3942
4043
## EfS-STORAGE-CLASS
4144
efs_storage_class_enabled = false # to enable EBS storage class
45+
efs_version = "2.3.2"
4246
4347
## SERVICE-MONITORING-CRDs
4448
service_monitor_crd_enabled = false # enable service monitor along with K8S-dashboard (required CRD) or when require service monitor in reloader and cert-manager
4549
4650
## METRIC-SERVER
4751
metrics_server_enabled = false # to enable metrics server
52+
metrics_server_version = "3.12.1"
4853
metrics_server_helm_config = [file("${path.module}/config/metrics-server.yaml")]
54+
55+
# VerticalPodAutoscaler
56+
vpa_enabled = false
57+
vpa_version = "9.9.0"
4958
vpa_config = {
5059
values = [file("${path.module}/config/vpa-crd.yaml")]
5160
}
5261
5362
## CLUSTER-AUTOSCALER
5463
cluster_autoscaler_enabled = false # to enable cluster autoscaller
64+
cluster_autoscaler_version = "9.37.0"
5565
cluster_autoscaler_helm_config = [file("${path.module}/config/cluster-autoscaler.yaml")]
5666
5767
## NODE-TERMINATION-HANDLER
5868
aws_node_termination_handler_enabled = false # to enable node termination handler
69+
aws_node_termination_handler_version = "0.21.0"
5970
aws_node_termination_handler_helm_config = {
6071
values = [file("${path.module}/config/aws-node-termination-handler.yaml")]
6172
enable_service_monitor = false # to enable monitoring for node termination handler
62-
enable_notifications = true
73+
enable_notifications = false
6374
}
6475
6576
## KEDA
6677
keda_enabled = false # to enable Keda in the EKS cluster
78+
keda_version = "2.14.2"
6779
keda_helm_config = {
6880
values = [file("${path.module}/config/keda.yaml")]
6981
}
7082
7183
## KARPENTER
7284
karpenter_enabled = false # to enable Karpenter (installs required CRDs )
85+
karpenter_version = "1.0.6"
7386
karpenter_helm_config = {
7487
enable_service_monitor = false # to enable monitoring for kafalserpenter
7588
values = [file("${path.module}/config/karpenter.yaml")]
@@ -81,14 +94,21 @@ module "eks-addons" {
8194
values = [file("${path.module}/config/coredns-hpa.yaml")]
8295
}
8396
97+
## ClusterProportionalAutoscaler (Configured for CoreDNS)
98+
cluster_proportional_autoscaler_enabled = false # to enable cluster proportional autoscaler
99+
cluster_proportional_autoscaler_chart_version = "1.1.0"
100+
cluster_proportional_autoscaler_helm_config = [file("${path.module}/config/cluster-proportional-autoscaler.yaml")]
101+
84102
## EXTERNAL-SECRETS
85103
external_secrets_enabled = false # to enable external secrets
104+
external_secrets_version = "0.9.19"
86105
external_secrets_helm_config = {
87106
values = [file("${path.module}/config/external-secret.yaml")]
88107
}
89108
90109
## CERT-MANAGER
91110
cert_manager_enabled = false # to enable Cert-manager
111+
cert_manager_version = "v1.15.1"
92112
cert_manager_helm_config = {
93113
values = [file("${path.module}/config/cert-manager.yaml")]
94114
enable_service_monitor = false # to enable monitoring for Cert Manager
@@ -97,23 +117,35 @@ module "eks-addons" {
97117
98118
## CONFIG-RELOADER
99119
reloader_enabled = false # to enable config reloader in the EKS cluster
120+
reloader_version = "v1.0.115"
100121
reloader_helm_config = {
101122
values = [file("${path.module}/config/reloader.yaml")]
102123
enable_service_monitor = false # to enable monitoring for reloader
103124
}
104125
105126
## INGRESS-NGINX
106127
ingress_nginx_enabled = false # to enable ingress nginx
107-
private_nlb_enabled = false # to enable Internal (Private) Ingress , set this and ingress_nginx_enable "false" together
128+
ingress_nginx_version = "4.11.0"
108129
ingress_nginx_config = {
109130
values = [file("${path.module}/config/ingress-nginx.yaml")]
110131
enable_service_monitor = false # enable monitoring in nginx ingress
111-
ingress_class_name = "nginx" # enter ingress class name according to your requirement (example: "nginx", "internal-ingress")
112-
namespace = "nginx" # enter namespace according to the requirement (example: "nginx", "internal-ingress")
132+
ingress_class_name = "nginx" # enter ingress class name according to your requirement
133+
namespace = "nginx" # enter namespace according to the requirement
134+
}
135+
136+
## PRIVATE INGRESS-NGINX
137+
private_ingress_nginx_enabled = false # to enable Internal (Private) Ingress
138+
private_ingress_nginx_version = "4.11.0"
139+
private_ingress_nginx_config = {
140+
values = [file("${path.module}/config/ingress-nginx.yaml")]
141+
enable_service_monitor = false # enable monitoring in nginx ingress
142+
ingress_class_name = "private-nginx" # enter ingress class name according to your requirement (example: "nginx", "internal-ingress")
143+
namespace = "private-nginx" # enter namespace according to the requirement (example: "nginx", "internal-ingress")
113144
}
114145
115146
## AWS-APPLICATION-LOAD-BALANCER-CONTROLLER
116147
aws_load_balancer_controller_enabled = false # to enable load balancer controller
148+
aws_load_balancer_controller_version = "1.8.1"
117149
aws_load_balancer_controller_helm_config = {
118150
values = [file("${path.module}/config/aws-alb.yaml")]
119151
namespace = "alb" # enter namespace according to the requirement (example: "alb")
@@ -122,15 +154,18 @@ module "eks-addons" {
122154
123155
## KUBERNETES-DASHBOARD
124156
kubernetes_dashboard_enabled = false
157+
kubernetes_dashboard_version = "6.0.8"
125158
kubernetes_dashboard_config = {
126-
k8s_dashboard_ingress_load_balancer = "nlb" ##Choose your load balancer type (e.g., NLB or ALB). Enable load balancer controller, if you require ALB, Enable Ingress Nginx if NLB.
159+
k8s_dashboard_ingress_load_balancer = "nlb" # Pass either "nlb/alb" to choose load balancer controller as ingress-nginx controller or ALB controller
127160
private_alb_enabled = false # to enable Internal (Private) ALB , set this and aws_load_balancer_controller_enabled "true" together
128161
alb_acm_certificate_arn = "" # If using ALB in above parameter, ensure you provide the ACM certificate ARN for SSL.
129162
k8s_dashboard_hostname = "k8s-dashboard.rnd.squareops.in" # Enter Hostname
163+
ingress_class_name = "nginx" # For public nlb use "nginx", for private NLB use "private-nginx", For ALB, use "alb"
130164
}
131165
132166
## ArgoCD
133167
argocd_enabled = false
168+
argocd_version = "7.3.11"
134169
argocd_config = {
135170
hostname = "argocd.rnd.squareops.in"
136171
values_yaml = file("${path.module}/config/argocd.yaml")
@@ -139,20 +174,41 @@ module "eks-addons" {
139174
autoscaling_enabled = true
140175
slack_notification_token = ""
141176
argocd_notifications_enabled = false
142-
ingress_class_name = "nginx" # enter ingress class name according to your requirement (example: "ingress-nginx", "internal-ingress")
177+
ingress_class_name = "nginx" # For public nlb use "nginx", for private NLB use "private-nginx", For ALB, use "alb"
178+
argocd_ingress_load_balancer = "nlb" # Pass either "nlb/alb" to choose load balancer controller as ingress-nginx controller or ALB controller
179+
private_alb_enabled = "false" # to enable Internal (Private) ALB , set this and aws_load_balancer_controller_enabled "true" together
180+
alb_acm_certificate_arn = "" # If using ALB in above parameter, ensure you provide the ACM certificate ARN for SSL.
143181
}
144182
argoproject_config = {
145183
name = "argo-project" # enter name for aro-project appProjects
146184
}
147185
148186
## ArgoCD-Workflow
149187
argoworkflow_enabled = false
188+
argoworkflow_version = "0.29.2"
150189
argoworkflow_config = {
151-
values = file("${path.module}/config/argocd-workflow.yaml")
152-
namespace = local.argocd_namespace
153-
autoscaling_enabled = true
154-
hostname = "argocd-workflow.rnd.squareops.in"
155-
ingress_class_name = "nginx" # enter ingress class name according to your requirement (example: "ingress-nginx", "internal-ingress")
190+
values = file("${path.module}/config/argocd-workflow.yaml")
191+
namespace = local.argocd_namespace
192+
autoscaling_enabled = true
193+
hostname = "argoworkflow.rnd.squareops.in"
194+
ingress_class_name = "nginx" # For public nlb use "nginx", for private NLB use "private-nginx", For ALB, use "alb"
195+
argoworkflow_ingress_load_balancer = "nlb" # Pass either "nlb/alb" to choose load balancer controller as ingress-nginx controller or ALB controller
196+
private_alb_enabled = "false" # to enable Internal (Private) ALB , set this and aws_load_balancer_controller_enabled "true" together
197+
alb_acm_certificate_arn = "" # If using ALB in above parameter, ensure you provide the ACM certificate ARN for SSL.
198+
}
199+
200+
## ArgoRollout
201+
argorollout_enabled = false
202+
argorollout_config = {
203+
values = file("${path.module}/config/argo-rollout.yaml")
204+
namespace = local.argocd_namespace
205+
hostname = "argo-rollout.rnd.squareops.in"
206+
enable_dashboard = false
207+
ingress_class_name = "nginx" # For public nlb use "nginx", for private NLB use "private-nginx", For ALB, use "alb"
208+
argorollout_ingress_load_balancer = "nlb" # Pass either "nlb/alb" to choose load balancer controller as ingress-nginx controller or ALB controller
209+
private_alb_enabled = "false" # to enable Internal (Private) ALB , set this and aws_load_balancer_controller_enabled "true" together
210+
alb_acm_certificate_arn = "" # If using ALB in above parameter, ensure you provide the ACM certificate ARN for SSL.
211+
chart_version = "2.38.0"
156212
}
157213
158214
# VELERO
@@ -172,10 +228,12 @@ module "eks-addons" {
172228
173229
## KUBECLARITY
174230
kubeclarity_enabled = false # to enable kube clarity
231+
kubeclarity_version = "2.23.0"
175232
kubeclarity_hostname = "kubeclarity.prod.in"
176233
177234
## KUBECOST
178235
kubecost_enabled = false # to enable kube cost
236+
kubecost_version = "v2.1.0-eksbuild.1"
179237
kubecost_hostname = "kubecost.prod.in"
180238
181239
## DEFECT-DOJO
@@ -184,6 +242,7 @@ module "eks-addons" {
184242
185243
## FALCO
186244
falco_enabled = false # to enable falco
245+
falco_version = "4.0.0"
187246
slack_webhook = "xoxb-379541400966-iibMHnnoaPzVl"
188247
}
189248
@@ -206,9 +265,13 @@ module "eks-addons" {
206265
| Release 1.1.7 | ✔ | ✔ | ✔ | ✔ | ✔ |
207266
| Release 1.1.8 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
208267
| Release 3.0.0 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ✔ |
209-
| Release 3.1.1 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ✔ |
268+
| Release 3.1.0 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ✔ |
269+
| Release 3.1.3 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ✔ |
270+
| Release 4.0.0 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ✔ |
271+
| Release 4.0.1 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ✔ |
272+
| Release 4.0.2 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ✔ |
210273

211-
Note: The latest release 3.0.0 support EKS version 1.28, 1.29 and 1.30. For EKS version <=1.27 refer the previous release.
274+
Note: The latest release 4.0.0 support EKS version 1.28, 1.29 and 1.30. For EKS version <=1.27 refer the previous release.
212275
## IAM Permissions
213276
The required IAM permissions to create resources from this module can be found [here](https://github.com/squareops/terraform-aws-eks-addons.git/blob/main/IAM.md)
214277

examples/complete/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
| Name | Source | Version |
2323
|------|--------|---------|
24-
| <a name="module_eks-addons"></a> [eks-addons](#module\_eks-addons) | squareops/eks-addons/aws | 4.0.1 |
24+
| <a name="module_eks-addons"></a> [eks-addons](#module\_eks-addons) | squareops/eks-addons/aws | 4.0.2 |
2525

2626
## Resources
2727

examples/complete/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ locals {
2323

2424
module "eks-addons" {
2525
source = "squareops/eks-addons/aws"
26-
version = "4.0.1"
26+
version = "4.0.2"
2727
name = local.name
2828
tags = local.additional_tags
2929
vpc_id = local.vpc_id

locals.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ locals {
4848
il-central-1 = "066635153087.dkr.ecr.il-central-1.amazonaws.com",
4949
me-south-1 = "558608220178.dkr.ecr.me-south-1.amazonaws.com",
5050
me-central-1 = "759879836304.dkr.ecr.me-central-1.amazonaws.com",
51-
mx-central-1 = "730335286997.dkr.ecr.mx-central-1.amazonaws.com",
51+
mx-central-1 = "730335286997.dkr.ecr.mx-central-1.amazonaws.com",
5252
sa-east-1 = "602401143452.dkr.ecr.sa-east-1.amazonaws.com",
5353
us-east-1 = "602401143452.dkr.ecr.us-east-1.amazonaws.com",
5454
us-east-2 = "602401143452.dkr.ecr.us-east-2.amazonaws.com",

modules/argocd/config/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ configs:
7474
p, role:readonly, gpgkeys, get, *, allow
7575
p, role:readonly, logs, get, */*, allow
7676
g, qa, role:readonly
77+
params:
78+
application.namespaces: "*"
7779

7880
server:
7981
config:

0 commit comments

Comments
 (0)