aws / aws-cdk

The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code

Home Page:https://aws.amazon.com/cdk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EKS: Automatically Generated Cluster Name Can Exceed 100 Characters

hakenmt opened this issue · comments

Describe the bug

The automatic naming of a cluster is impacted by the path of the resource. In some circumstances this can cause the cluster name to exceed 100 characters, which exceeds the limit for EKS, https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html and results in an error from the onEventHandler function: InvalidParameterException: The parameter name should not be greater than 100 characters.

Expected Behavior

I would expect the construct to trim the name down to 100 characters or fail to synth and provide a meaningful error.

Current Behavior

A name of more than 100 characters can be produced through the automatic name generation.

Reproduction Steps

Have a sufficiently nested EKS cluster without a cluster name specified. For example, this is what was produced: multi-az-workshop-EKSNestedStackEKSNestedStackResourceAE427C53-1UH8V2OQX83GX-EKSCluster7638EADC-132IJXPSLXM72

Given a parent stack name of "multi-az-workshop", a nested stack in that parent of "EKSNestedStack", and naming the EKS cluster resource "EKSCluster".

Possible Solution

While certainly possible to name the cluster yourself, would hope there to be some safety checking before actually trying to create the cluster leading to failure.

Additional Information/Context

No response

CDK CLI Version

2.147.0

Framework Version

No response

Node.js Version

v20.9.0

OS

darwin

Language

.NET

Language Version

No response

Other information

No response

Yes we probably should fix here

this.clusterName = this.getResourceNameAttribute(resource.ref);

with Names.uniqueResourceName with maxLength: 128

Feel free to submit a PR. Thank you.