Skip to content

Commit dbce6ce

Browse files
ns-squareopsMonachawla1712ankush-sqops
authored
Release 4.2.0 (#106)
* Updated karpenter version from 1.0.6 to 1.2.1 * modify few changes * Configure karpenter crd before karpenter deployment * updated karpenter upgrade code * Modified karperter upgrade changes * modify namespace in karpenter script * added option to expose argocd, workflow and ingress_nginx class in cert-manager * Fixed nginx/karpenter/cluster-autoscaler overriding issues * Updated modules to resolve yaml overriding issues * add path type in spec of k8s-dashboard ingress * add variable in k8s-dashboard * Update kmskey and policyarn conditionally --------- Co-authored-by: monachawla1712 <mona@squareops.com> Co-authored-by: Ankush.upadhyay <ankush.upadhyay@squareops.com>
1 parent bcbff9f commit dbce6ce

File tree

41 files changed

+325
-206
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+325
-206
lines changed

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -480,14 +480,14 @@ Velero is designed to work with cloud native environments, making it a popular c
480480
| <a name="input_alb_acm_certificate_arn"></a> [alb\_acm\_certificate\_arn](#input\_alb\_acm\_certificate\_arn) | ARN of the ACM certificate to be used for ALB Ingress. | `string` | `""` | no |
481481
| <a name="input_amazon_eks_aws_ebs_csi_driver_config"></a> [amazon\_eks\_aws\_ebs\_csi\_driver\_config](#input\_amazon\_eks\_aws\_ebs\_csi\_driver\_config) | configMap for AWS EBS CSI Driver add-on | `any` | `{}` | no |
482482
| <a name="input_amazon_eks_vpc_cni_enabled"></a> [amazon\_eks\_vpc\_cni\_enabled](#input\_amazon\_eks\_vpc\_cni\_enabled) | Enable or disable the installation of the Amazon EKS VPC CNI addon. | `bool` | `false` | no |
483-
| <a name="input_argocd_config"></a> [argocd\_config](#input\_argocd\_config) | n/a | <pre>object({<br> hostname = string<br> values_yaml = any<br> redis_ha_enabled = bool<br> autoscaling_enabled = bool<br> slack_notification_token = string<br> argocd_notifications_enabled = bool<br> ingress_class_name = string<br> namespace = string<br> argocd_ingress_load_balancer = string<br> private_alb_enabled = bool<br> alb_acm_certificate_arn = string<br> })</pre> | <pre>{<br> "alb_acm_certificate_arn": "",<br> "argocd_ingress_load_balancer": "nlb",<br> "argocd_notifications_enabled": false,<br> "autoscaling_enabled": false,<br> "hostname": "",<br> "ingress_class_name": "",<br> "namespace": "argocd",<br> "private_alb_enabled": false,<br> "redis_ha_enabled": false,<br> "slack_notification_token": "",<br> "values_yaml": {}<br>}</pre> | no |
483+
| <a name="input_argocd_config"></a> [argocd\_config](#input\_argocd\_config) | n/a | <pre>object({<br> hostname = string<br> values_yaml = any<br> redis_ha_enabled = bool<br> autoscaling_enabled = bool<br> slack_notification_token = string<br> argocd_notifications_enabled = bool<br> expose_dashboard = bool<br> ingress_class_name = string<br> namespace = string<br> argocd_ingress_load_balancer = string<br> private_alb_enabled = bool<br> alb_acm_certificate_arn = string<br> })</pre> | <pre>{<br> "alb_acm_certificate_arn": "",<br> "argocd_ingress_load_balancer": "nlb",<br> "argocd_notifications_enabled": false,<br> "autoscaling_enabled": false,<br> "expose_dashboard": true,<br> "hostname": "",<br> "ingress_class_name": "",<br> "namespace": "argocd",<br> "private_alb_enabled": false,<br> "redis_ha_enabled": false,<br> "slack_notification_token": "",<br> "values_yaml": {}<br>}</pre> | no |
484484
| <a name="input_argocd_enabled"></a> [argocd\_enabled](#input\_argocd\_enabled) | Determine whether argocd is enabled or not | `bool` | `false` | no |
485485
| <a name="input_argocd_manage_add_ons"></a> [argocd\_manage\_add\_ons](#input\_argocd\_manage\_add\_ons) | Enable managing add-on configuration via ArgoCD App of Apps | `bool` | `false` | no |
486486
| <a name="input_argocd_version"></a> [argocd\_version](#input\_argocd\_version) | Version of the argocd addon | `string` | `"7.3.11"` | no |
487487
| <a name="input_argoproject_config"></a> [argoproject\_config](#input\_argoproject\_config) | n/a | <pre>object({<br> name = string<br> })</pre> | <pre>{<br> "name": ""<br>}</pre> | no |
488488
| <a name="input_argorollout_config"></a> [argorollout\_config](#input\_argorollout\_config) | n/a | <pre>object({<br> values = any<br> namespace = string<br> hostname = string<br> ingress_class_name = string<br> enable_dashboard = bool<br> argorollout_ingress_load_balancer = string<br> private_alb_enabled = bool<br> alb_acm_certificate_arn = string<br> chart_version = string<br> })</pre> | <pre>{<br> "alb_acm_certificate_arn": "",<br> "argorollout_ingress_load_balancer": "nlb",<br> "chart_version": "2.38.0",<br> "enable_dashboard": false,<br> "hostname": "",<br> "ingress_class_name": "",<br> "namespace": "argocd",<br> "private_alb_enabled": false,<br> "values": {}<br>}</pre> | no |
489489
| <a name="input_argorollout_enabled"></a> [argorollout\_enabled](#input\_argorollout\_enabled) | Determine whether argo-rollout is enabled or not | `bool` | `false` | no |
490-
| <a name="input_argoworkflow_config"></a> [argoworkflow\_config](#input\_argoworkflow\_config) | n/a | <pre>object({<br> values = any<br> namespace = string<br> hostname = string<br> ingress_class_name = string<br> autoscaling_enabled = bool<br> argoworkflow_ingress_load_balancer = string<br> private_alb_enabled = bool<br> alb_acm_certificate_arn = string<br> })</pre> | <pre>{<br> "alb_acm_certificate_arn": "",<br> "argoworkflow_ingress_load_balancer": "nlb",<br> "autoscaling_enabled": true,<br> "hostname": "",<br> "ingress_class_name": "",<br> "namespace": "argocd",<br> "private_alb_enabled": false,<br> "values": {}<br>}</pre> | no |
490+
| <a name="input_argoworkflow_config"></a> [argoworkflow\_config](#input\_argoworkflow\_config) | n/a | <pre>object({<br> values = any<br> namespace = string<br> hostname = string<br> expose_dashboard = bool<br> ingress_class_name = string<br> autoscaling_enabled = bool<br> argoworkflow_ingress_load_balancer = string<br> private_alb_enabled = bool<br> alb_acm_certificate_arn = string<br> })</pre> | <pre>{<br> "alb_acm_certificate_arn": "",<br> "argoworkflow_ingress_load_balancer": "nlb",<br> "autoscaling_enabled": true,<br> "expose_dashboard": true,<br> "hostname": "",<br> "ingress_class_name": "",<br> "namespace": "argocd",<br> "private_alb_enabled": false,<br> "values": {}<br>}</pre> | no |
491491
| <a name="input_argoworkflow_enabled"></a> [argoworkflow\_enabled](#input\_argoworkflow\_enabled) | Determine whether argocd-workflow is enabled or not | `bool` | `false` | no |
492492
| <a name="input_argoworkflow_version"></a> [argoworkflow\_version](#input\_argoworkflow\_version) | Version of the argoworkflow addon | `string` | `"0.29.2"` | no |
493493
| <a name="input_auto_scaling_group_names"></a> [auto\_scaling\_group\_names](#input\_auto\_scaling\_group\_names) | List of self-managed node groups autoscaling group names | `list(string)` | `[]` | no |
@@ -507,10 +507,9 @@ Velero is designed to work with cloud native environments, making it a popular c
507507
| <a name="input_cert_manager_kubernetes_svc_image_pull_secrets"></a> [cert\_manager\_kubernetes\_svc\_image\_pull\_secrets](#input\_cert\_manager\_kubernetes\_svc\_image\_pull\_secrets) | list(string) of kubernetes imagePullSecrets | `list(string)` | `[]` | no |
508508
| <a name="input_cert_manager_letsencrypt_email"></a> [cert\_manager\_letsencrypt\_email](#input\_cert\_manager\_letsencrypt\_email) | Specifies the email address to be used by cert-manager to request Let's Encrypt certificates | `string` | `""` | no |
509509
| <a name="input_cert_manager_version"></a> [cert\_manager\_version](#input\_cert\_manager\_version) | Version of the cert manager addon | `string` | `"v1.15.1"` | no |
510-
| <a name="input_cluster_autoscaler_chart_version"></a> [cluster\_autoscaler\_chart\_version](#input\_cluster\_autoscaler\_chart\_version) | Version of the cluster autoscaler helm chart | `string` | `"9.29.0"` | no |
511510
| <a name="input_cluster_autoscaler_enabled"></a> [cluster\_autoscaler\_enabled](#input\_cluster\_autoscaler\_enabled) | Whether to enable the Cluster Autoscaler add-on or not. | `bool` | `false` | no |
512511
| <a name="input_cluster_autoscaler_helm_config"></a> [cluster\_autoscaler\_helm\_config](#input\_cluster\_autoscaler\_helm\_config) | CoreDNS Autoscaler Helm Chart config | `any` | `{}` | no |
513-
| <a name="input_cluster_autoscaler_version"></a> [cluster\_autoscaler\_version](#input\_cluster\_autoscaler\_version) | Version of the cluster autoscaler addon | `string` | `"9.37.0"` | no |
512+
| <a name="input_cluster_autoscaler_version"></a> [cluster\_autoscaler\_version](#input\_cluster\_autoscaler\_version) | Version of the cluster autoscaler addon | `string` | `"9.46.3"` | no |
514513
| <a name="input_cluster_issuer"></a> [cluster\_issuer](#input\_cluster\_issuer) | Specify the letsecrypt cluster-issuer for ingress tls. | `string` | `"letsencrypt-prod"` | no |
515514
| <a name="input_cluster_proportional_autoscaler_chart_version"></a> [cluster\_proportional\_autoscaler\_chart\_version](#input\_cluster\_proportional\_autoscaler\_chart\_version) | Version of the cluster proportional autoscaler helm chart | `string` | `"1.1.0"` | no |
516515
| <a name="input_cluster_proportional_autoscaler_enabled"></a> [cluster\_proportional\_autoscaler\_enabled](#input\_cluster\_proportional\_autoscaler\_enabled) | Whether to enable the Cluster proportional Autoscaler add-on or not. | `bool` | `false` | no |
@@ -552,7 +551,7 @@ Velero is designed to work with cloud native environments, making it a popular c
552551
| <a name="input_karpenter_helm_config"></a> [karpenter\_helm\_config](#input\_karpenter\_helm\_config) | Karpenter autoscaler add-on config | `any` | `{}` | no |
553552
| <a name="input_karpenter_irsa_policies"></a> [karpenter\_irsa\_policies](#input\_karpenter\_irsa\_policies) | Additional IAM policies for a IAM role for service accounts | `list(string)` | `[]` | no |
554553
| <a name="input_karpenter_node_iam_instance_profile"></a> [karpenter\_node\_iam\_instance\_profile](#input\_karpenter\_node\_iam\_instance\_profile) | Karpenter Node IAM Instance profile id | `string` | `""` | no |
555-
| <a name="input_karpenter_version"></a> [karpenter\_version](#input\_karpenter\_version) | Version of the karpenter addon | `string` | `"1.0.6"` | no |
554+
| <a name="input_karpenter_version"></a> [karpenter\_version](#input\_karpenter\_version) | Version of the karpenter addon | `string` | `"1.3.1"` | no |
556555
| <a name="input_keda_enabled"></a> [keda\_enabled](#input\_keda\_enabled) | Enable or disable Kubernetes Event-driven Autoscaling (KEDA) add-on for autoscaling workloads. | `bool` | `false` | no |
557556
| <a name="input_keda_helm_config"></a> [keda\_helm\_config](#input\_keda\_helm\_config) | KEDA Event-based autoscaler add-on config | `any` | `{}` | no |
558557
| <a name="input_keda_irsa_policies"></a> [keda\_irsa\_policies](#input\_keda\_irsa\_policies) | Additional IAM policies for a IAM role for service accounts | `list(string)` | `[]` | no |
@@ -566,7 +565,7 @@ Velero is designed to work with cloud native environments, making it a popular c
566565
| <a name="input_kubecost_enabled"></a> [kubecost\_enabled](#input\_kubecost\_enabled) | Enable or disable the deployment of an Kubecost for Kubernetes. | `bool` | `false` | no |
567566
| <a name="input_kubecost_hostname"></a> [kubecost\_hostname](#input\_kubecost\_hostname) | Specify the hostname for the kubecsot. | `string` | `""` | no |
568567
| <a name="input_kubecost_version"></a> [kubecost\_version](#input\_kubecost\_version) | Version of the kubecost addon | `string` | `"v2.1.0-eksbuild.1"` | no |
569-
| <a name="input_kubernetes_dashboard_config"></a> [kubernetes\_dashboard\_config](#input\_kubernetes\_dashboard\_config) | Specify all the configuration setup here | <pre>object({<br> k8s_dashboard_ingress_load_balancer = string<br> alb_acm_certificate_arn = string<br> k8s_dashboard_hostname = string<br> private_alb_enabled = bool<br> ingress_class_name = string<br> })</pre> | <pre>{<br> "alb_acm_certificate_arn": "",<br> "ingress_class_name": "",<br> "k8s_dashboard_hostname": "",<br> "k8s_dashboard_ingress_load_balancer": "",<br> "private_alb_enabled": false<br>}</pre> | no |
568+
| <a name="input_kubernetes_dashboard_config"></a> [kubernetes\_dashboard\_config](#input\_kubernetes\_dashboard\_config) | Specify all the configuration setup here | <pre>object({<br> k8s_dashboard_hostname = string<br> values_yaml = any<br> enable_service_monitor = bool<br> k8s_dashboard_ingress_load_balancer = string<br> alb_acm_certificate_arn = string<br> private_alb_enabled = bool<br> ingress_class_name = string<br> })</pre> | <pre>{<br> "alb_acm_certificate_arn": "",<br> "enable_service_monitor": false,<br> "ingress_class_name": "",<br> "k8s_dashboard_hostname": "",<br> "k8s_dashboard_ingress_load_balancer": "",<br> "private_alb_enabled": false,<br> "values_yaml": {}<br>}</pre> | no |
570569
| <a name="input_kubernetes_dashboard_enabled"></a> [kubernetes\_dashboard\_enabled](#input\_kubernetes\_dashboard\_enabled) | Determines whether k8s-dashboard is enabled or not | `bool` | `false` | no |
571570
| <a name="input_kubernetes_dashboard_version"></a> [kubernetes\_dashboard\_version](#input\_kubernetes\_dashboard\_version) | Version of the kubernetes dashboard addon | `string` | `"6.0.8"` | no |
572571
| <a name="input_metrics_server_enabled"></a> [metrics\_server\_enabled](#input\_metrics\_server\_enabled) | Enable or disable the metrics server add-on for EKS cluster. | `bool` | `false` | no |

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.2 |
24+
| <a name="module_eks-addons"></a> [eks-addons](#module\_eks-addons) | squareops/eks-addons/aws | 4.2.0 |
2525

2626
## Resources
2727

examples/complete/config/cluster-autoscaler.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ affinity:
1515
resources:
1616
limits:
1717
cpu: 50m
18-
memory: 250Mi
18+
memory: 200Mi
1919
requests:
20-
cpu: 25m
21-
memory: 250Mi
20+
cpu: 20m
21+
memory: 100Mi

examples/complete/config/karpenter.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
controller:
2+
containerName: controller
23
resources:
34
requests:
45
cpu: 50m
@@ -16,3 +17,17 @@ affinity:
1617
operator: In
1718
values:
1819
- "true"
20+
21+
settings:
22+
clusterName: ${eks_cluster_id}
23+
clusterEndpoint: ${eks_cluster_endpoint}
24+
eksControlPlane: false
25+
featureGates:
26+
spotToSpotConsolidation: true
27+
nodeRepair: true
28+
29+
service:
30+
# -- Additional annotations for the Service.
31+
annotations: {}
32+
33+
schedulerName: default-scheduler

examples/complete/config/kubernetes-dashboard.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,3 @@ resources:
1818
limits:
1919
cpu: 2
2020
memory: 400Mi
21-
22-

examples/complete/main.tf

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,9 @@ locals {
2020
private_subnet_ids = ["subnet-xxxxxx", "subnet-xxxxxx"] # pass Private Subnet IDs
2121
public_subnet_ids = ["subnet-xxxxxx", "subnet-xxxxxx"] # pass Public Subnet IDs
2222
}
23-
2423
module "eks-addons" {
2524
source = "squareops/eks-addons/aws"
26-
version = "4.1.0"
25+
version = "4.2.0"
2726
name = local.name
2827
tags = local.additional_tags
2928
vpc_id = local.vpc_id
@@ -73,7 +72,7 @@ module "eks-addons" {
7372

7473
## CLUSTER-AUTOSCALER
7574
cluster_autoscaler_enabled = false # to enable cluster autoscaller
76-
cluster_autoscaler_version = "9.37.0"
75+
cluster_autoscaler_version = "9.46.3"
7776
cluster_autoscaler_helm_config = [file("${path.module}/config/cluster-autoscaler.yaml")]
7877

7978
## NODE-TERMINATION-HANDLER
@@ -94,7 +93,7 @@ module "eks-addons" {
9493

9594
## KARPENTER
9695
karpenter_enabled = false # to enable Karpenter (installs required CRDs )
97-
karpenter_version = "1.0.6"
96+
karpenter_version = "1.3.1"
9897
karpenter_helm_config = {
9998
enable_service_monitor = false # to enable monitoring for kafalserpenter
10099
values = [file("${path.module}/config/karpenter.yaml")]
@@ -124,6 +123,7 @@ module "eks-addons" {
124123
cert_manager_helm_config = {
125124
values = [file("${path.module}/config/cert-manager.yaml")]
126125
enable_service_monitor = false # to enable monitoring for Cert Manager
126+
ingress_class_name = "nginx"
127127
cert_manager_letsencrypt_email = "email@email.com"
128128
}
129129

@@ -174,14 +174,15 @@ module "eks-addons" {
174174
alb_acm_certificate_arn = "" # If using ALB in above parameter, ensure you provide the ACM certificate ARN for SSL.
175175
k8s_dashboard_hostname = "k8s-dashboard.rnd.squareops.in" # Enter Hostname
176176
ingress_class_name = "nginx" # For public nlb use "nginx", for private NLB use "private-nginx", For ALB, use "alb"
177-
enable_service_monitor = false
177+
enable_service_monitor = false
178178
}
179179

180180
## ArgoCD
181181
argocd_enabled = false
182182
argocd_version = "7.3.11"
183183
argocd_config = {
184184
hostname = "argocd.rnd.squareops.in"
185+
expose_dashboard = true
185186
values_yaml = file("${path.module}/config/argocd.yaml")
186187
namespace = local.argocd_namespace
187188
redis_ha_enabled = true
@@ -205,6 +206,7 @@ module "eks-addons" {
205206
namespace = local.argocd_namespace
206207
autoscaling_enabled = true
207208
hostname = "argoworkflow.rnd.squareops.in"
209+
expose_dashboard = true
208210
ingress_class_name = "nginx" # For public nlb use "nginx", for private NLB use "private-nginx", For ALB, use "alb"
209211
argoworkflow_ingress_load_balancer = "nlb" # Pass either "nlb/alb" to choose load balancer controller as ingress-nginx controller or ALB controller
210212
private_alb_enabled = "false" # to enable Internal (Private) ALB , set this and aws_load_balancer_controller_enabled "true" together
@@ -258,4 +260,4 @@ module "eks-addons" {
258260
falco_enabled = false # to enable falco
259261
falco_version = "4.0.0"
260262
slack_webhook = "xoxb-379541400966-iibMHnnoaPzVl"
261-
}
263+
}

0 commit comments

Comments
 (0)