11import { Easy_EKS_Config_Data } from '../../lib/Easy_EKS_Config_Data' ;
2+ import { Easy_EKS_Dynamic_Config } from '../../lib/Easy_EKS_Dynamic_Config' ;
23import { KubernetesVersion } from 'aws-cdk-lib/aws-eks' ;
34import * as cdk from 'aws-cdk-lib' ;
45import * as eks from 'aws-cdk-lib/aws-eks' ;
56import * as iam from 'aws-cdk-lib/aws-iam' ;
67import * as kms from 'aws-cdk-lib/aws-kms' ;
78import request from 'sync-request-curl' ; //npm install sync-request-curl (cdk requires sync functions, async not allowed)
8- import cluster from 'cluster' ;
99//Intended Use:
1010//A baseline config file (to be applied to all EasyEKS Clusters in your organization)
1111//EasyEKS Admins would be expected to edit this file with defaults specific to their org. (that rarely change and are low risk to add)
@@ -74,8 +74,7 @@ export function deploy_addons(config: Easy_EKS_Config_Data, stack: cdk.Stack, cl
7474 const vpc_cni = new eks . CfnAddon ( stack , 'vpc-cni' , {
7575 clusterName : cluster . clusterName ,
7676 addonName : 'vpc-cni' ,
77- addonVersion : 'v1.19.6-eksbuild.7' , //v--query for latest, latest of this addon tends to be valid for all versions of kubernetes
78- // aws eks describe-addon-versions --kubernetes-version=1.31 --addon-name=vpc-cni --query='addons[].addonVersions[].addonVersion' | jq '.[0]'
77+ addonVersion : Easy_EKS_Dynamic_Config . get_latest_version_of_vpc_cni_eks_addon ( ) , //OR 'v1.20.1-eksbuild.3'
7978 //serviceAccountRoleArn: <-- leave this blank, to use worker node's IAM role, which gives dualstack ipv4/ipv6 support
8079 resolveConflicts : 'OVERWRITE' ,
8180 configurationValues : '{}' ,
@@ -84,8 +83,7 @@ export function deploy_addons(config: Easy_EKS_Config_Data, stack: cdk.Stack, cl
8483 const coredns = new eks . CfnAddon ( stack , 'coredns' , {
8584 clusterName : cluster . clusterName ,
8685 addonName : 'coredns' ,
87- addonVersion : 'v1.11.4-eksbuild.14' , //v--query for latest, latest tends to be valid for all version of kubernetes
88- // aws eks describe-addon-versions --kubernetes-version=1.31 --addon-name=coredns --query='addons[].addonVersions[].addonVersion' | jq '.[0]'
86+ addonVersion : Easy_EKS_Dynamic_Config . get_latest_version_of_coredns_eks_addon ( ) , //OR 'v1.12.3-eksbuild.1'
8987 resolveConflicts : 'OVERWRITE' ,
9088 //v-- Below represents an optimized CoreDNS deployment, based on
9189 // https://aws.amazon.com/blogs/containers/amazon-eks-add-ons-advanced-configuration/
@@ -147,8 +145,7 @@ export function deploy_addons(config: Easy_EKS_Config_Data, stack: cdk.Stack, cl
147145 const metrics_server = new eks . CfnAddon ( stack , 'metrics-server' , { //allows `kubectl top nodes` to work & valid for all versions of kubernetes
148146 clusterName : cluster . clusterName ,
149147 addonName : 'metrics-server' ,
150- addonVersion : 'v0.8.0-eksbuild.1' , //v--query for latest
151- // aws eks describe-addon-versions --kubernetes-version=1.31 --addon-name=metrics-server --query='addons[].addonVersions[].addonVersion' | jq '.[0]'
148+ addonVersion : Easy_EKS_Dynamic_Config . get_latest_version_of_metrics_server_eks_addon ( ) , //OR 'v0.8.0-eksbuild.2'
152149 resolveConflicts : 'OVERWRITE' ,
153150 configurationValues : `{
154151 "replicas": 2,
@@ -203,8 +200,7 @@ export function deploy_addons(config: Easy_EKS_Config_Data, stack: cdk.Stack, cl
203200 const eks_node_monitoring_agent = new eks . CfnAddon ( stack , 'eks-node-monitoring-agent' , {
204201 clusterName : cluster . clusterName ,
205202 addonName : 'eks-node-monitoring-agent' ,
206- addonVersion : 'v1.3.0-eksbuild.2' , //v--query for latest
207- // aws eks describe-addon-versions --kubernetes-version=1.31 --addon-name=eks-node-monitoring-agent --query='addons[].addonVersions[].addonVersion' | jq '.[0]'
203+ addonVersion : Easy_EKS_Dynamic_Config . get_latest_version_of_eks_node_monitoring_agent_eks_addon ( ) , //or 'v1.4.0-eksbuild.2'
208204 resolveConflicts : 'OVERWRITE' ,
209205 configurationValues : '{}' ,
210206 } ) ;
@@ -244,8 +240,7 @@ export function deploy_addons(config: Easy_EKS_Config_Data, stack: cdk.Stack, cl
244240 const ebs_csi_addon = new eks . CfnAddon ( stack , 'aws-ebs-csi-driver' , {
245241 clusterName : cluster . clusterName ,
246242 addonName : 'aws-ebs-csi-driver' ,
247- addonVersion : 'v1.45.0-eksbuild.2' , //v--query for latest
248- // aws eks describe-addon-versions --kubernetes-version=1.31 --addon-name=aws-ebs-csi-driver --query='addons[].addonVersions[].addonVersion' | jq '.[0]'
243+ addonVersion : Easy_EKS_Dynamic_Config . get_latest_version_of_ebs_csi_eks_addon ( ) , //OR 'v1.48.0-eksbuild.2'
249244 resolveConflicts : 'OVERWRITE' ,
250245 podIdentityAssociations : [
251246 {
@@ -276,8 +271,7 @@ export function deploy_essentials(config: Easy_EKS_Config_Data, stack: cdk.Stack
276271 release : "node-local-dns-cache" , // Name for our chart in Kubernetes (helm list -A)
277272 repository : "oci://ghcr.io/deliveryhero/helm-charts/node-local-dns" , // HTTPS address of the helm chart (associated with helm repo add command)
278273 namespace : "kube-system" ,
279- version : "2.1.10" , // version of the helm chart, below can be used to look up latest
280- // curl https://raw.githubusercontent.com/deliveryhero/helm-charts/refs/heads/master/stable/node-local-dns/Chart.yaml | grep version: | cut -d ':' -f 2
274+ version : Easy_EKS_Dynamic_Config . get_latest_version_of_node_local_dns_cache_helm_chart ( ) , //OR "2.1.10"
281275 wait : false ,
282276 values : { //<-- helm chart values per https://github.com/deliveryhero/helm-charts/blob/master/stable/node-local-dns/values.yaml
283277 config : {
0 commit comments