Skip to content

Commit 6725536

Browse files
authored
Merge pull request #5517 from matzegebbe/feat/addAL2023Support
✨ feat: add amazon-linux-2023 ami lookup parameters for ssm
2 parents a99e314 + 75fed77 commit 6725536

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

api/v1beta2/types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,10 @@ const (
463463
AmazonLinux EKSAMILookupType = "AmazonLinux"
464464
// AmazonLinuxGPU is the AmazonLinux GPU AMI type.
465465
AmazonLinuxGPU EKSAMILookupType = "AmazonLinuxGPU"
466+
// AmazonLinux2023 is the AmazonLinux 2023 AMI type.
467+
AmazonLinux2023 EKSAMILookupType = "AmazonLinux2023"
468+
// AmazonLinux2023GPU is the AmazonLinux 2023 GPU AMI type.
469+
AmazonLinux2023GPU EKSAMILookupType = "AmazonLinux2023GPU"
466470
)
467471

468472
// PrivateDNSName is the options for the instance hostname.

pkg/cloud/services/ec2/ami.go

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,20 @@ const (
8080
// EKS AMI ID SSM Parameter name.
8181
eksAmiSSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2/recommended/image_id"
8282

83+
// EKS AL2023 AMI ID SSM Parameter name.
84+
eksAmiAl2023SSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2023/x86_64/standard/recommended/image_id"
85+
8386
// EKS ARM64 AMI ID SSM Parameter name.
8487
eksARM64AmiSSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2-arm64/recommended/image_id"
8588

89+
// EKS ARM64 AL2023 AMI ID SSM Parameter name.
90+
eksARM64AmiAl2023SSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2023/arm64/standard/recommended/image_id"
91+
8692
// EKS GPU AMI ID SSM Parameter name.
8793
eksGPUAmiSSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2-gpu/recommended/image_id"
94+
95+
// EKS GPU AL2023 AMI ID SSM Parameter name.
96+
eksGPUAmiAl2023SSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2023/x86_64/nvidia/recommended/image_id"
8897
)
8998

9099
// AMILookup contains the parameters used to template AMI names used for lookup.
@@ -323,14 +332,24 @@ func (s *Service) eksAMILookup(kubernetesVersion string, architecture string, am
323332
}
324333

325334
switch *amiType {
335+
case infrav1.AmazonLinux2023GPU:
336+
paramName = fmt.Sprintf(eksGPUAmiAl2023SSMParameterFormat, formattedVersion)
326337
case infrav1.AmazonLinuxGPU:
327338
paramName = fmt.Sprintf(eksGPUAmiSSMParameterFormat, formattedVersion)
328339
default:
329340
switch architecture {
330341
case Arm64ArchitectureTag:
331-
paramName = fmt.Sprintf(eksARM64AmiSSMParameterFormat, formattedVersion)
342+
if *amiType == infrav1.AmazonLinux2023 {
343+
paramName = fmt.Sprintf(eksARM64AmiAl2023SSMParameterFormat, formattedVersion)
344+
} else {
345+
paramName = fmt.Sprintf(eksARM64AmiSSMParameterFormat, formattedVersion)
346+
}
332347
case Amd64ArchitectureTag:
333-
paramName = fmt.Sprintf(eksAmiSSMParameterFormat, formattedVersion)
348+
if *amiType == infrav1.AmazonLinux2023 {
349+
paramName = fmt.Sprintf(eksAmiAl2023SSMParameterFormat, formattedVersion)
350+
} else {
351+
paramName = fmt.Sprintf(eksAmiSSMParameterFormat, formattedVersion)
352+
}
334353
default:
335354
return "", fmt.Errorf("cannot look up eks-optimized image for architecture %q", architecture)
336355
}

0 commit comments

Comments
 (0)