aws / aws/aws-cdk

(aws-eks): provide alternate way to pass manifest to lambda to support large manifests

Open
#19,165 18 comments 21 reactions 0 assignees View on GitHub
@aws-cdk/aws-eks @aws-cdk/aws-eks-v2-alpha effort/medium feature-request p1
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

### General Issue

eks.KubernetesManifest can't handle large manifests

### The Question

Trying to deploy a bundle yaml manifest of 1.6MB, I come across the following error:

```4:09:48 PM | UPDATE_FAILED | Custom::AWSCDK-EKS-KubernetesResource | prometheusoperator050BD385
1060952 byte payload is too large for the Event invocation type (limit 262144 bytes) (Service: AWSLambda; Status Code: 413; Error Code: RequestEntityTooLargeException; Request ID: 107aac3c-bdad-443f-af95-ac3f9ff031ab; Proxy: null)

❌ SpinnakerMonitoringStack failed: Error: The stack named SpinnakerMonitoringStack failed to deploy: UPDATE_ROLLBACK_COMPLETE
at Object.waitForStackDeploy (/home/**/.nvm/versions/node/v16.3.0/lib/node_modules/aws-cdk/lib/api/util/cloudformation.ts:309:11)
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at prepareAndExecuteChangeSet (/home/**/.nvm/versions/node/v16.3.0/lib/node_modules/aws-cdk/lib/api/deploy-stack.ts:357:26)
at CdkToolkit.deploy (/home/**/.nvm/versions/node/v16.3.0/lib/node_modules/aws-cdk/lib/cdk-toolkit.ts:199:24)
at initCommandLine (/home/**/.nvm/versions/node/v16.3.0/lib/node_modules/aws-cdk/bin/cdk.ts:267:9)
The stack named SpinnakerMonitoringStack failed to deploy: UPDATE_ROLLBACK_COMPLETE
```

Is there a way for CDK to manage this? or the expectation is to break down the manifests?

Thank you,
Daniel

### CDK CLI Version

2.6.0 (build 1a22ad7)

### Framework Version

_No response_

### Node.js Version

_No response_

### OS

_No response_

### Language

Python

### Language Version

_No response_

### Other information

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by tracing how eks.KubernetesManifest passes the manifest through the AWS Lambda custom resource and where the 262144-byte invocation limit is reached. Compare possible alternate manifest delivery paths, then verify that a 1.6MB bundle can deploy without exceeding the Lambda event payload limit.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.