Skip to content

Instantly share code, notes, and snippets.

@isaccavalcante
Created November 26, 2024 14:31
Show Gist options
  • Save isaccavalcante/ef409acc1776e52b0a1280a878c4d9c6 to your computer and use it in GitHub Desktop.
Save isaccavalcante/ef409acc1776e52b0a1280a878c4d9c6 to your computer and use it in GitHub Desktop.
#!/bin/bash
# EKS Addons Compatibility Script
if [ -z "$1" ]; then
echo "Usage: $0 <kubernetes_version>"
exit 1
fi
k8s_version=$1
addons=(
"vpc-cni"
"coredns"
"kube-proxy"
"aws-ebs-csi-driver"
"aws-efs-csi-driver"
"aws-mountpoint-s3-csi-driver"
"snapshot-controller"
"adot"
"aws-guardduty-agent"
"amazon-cloudwatch-observability"
"eks-pod-identity-agent"
)
get_compatible_versions() {
local addon_name=$1
aws eks describe-addon-versions \
--addon-name "$addon_name" \
--kubernetes-version "$k8s_version" \
--query 'addons[0].addonVersions[*].addonVersion' \
--output text
}
echo "Latest compatible addon versions for Kubernetes $k8s_version:"
for addon in "${addons[@]}"; do
all_compatible_versions=$(get_compatible_versions "$addon")
latest=$(echo "$all_compatible_versions" | tr '\t' '\n' | head -n 1)
echo "$addon: $latest"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment