aws-eks: KubernetesManifest "replace" option
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Describe the feature
I would like to have a "replace" option for the `aws-cdk.aws-eks.KubernetesManifest` construct. This should first delete the old Manifest and then apply the new one.
### Use Case
Some Kubernetes resources are immutable. StorageClasses for instance. If you do not delete those resources by hand before the next cdk deployment, the deployment will be rollback with an error. That is because Kubernetes reports an error back to CloudFormation.
It is hard to figure out, which immutable K8s resources might be affected by an update. Especially if you have many of them and are not the creator of the stack.
When the stack update also affects resources like RDS or ActiveMQ an update/rollback of the complete stack might take hours.
That's why the safest solution would be, marking some KubernetesManifest constructs with a `replace: true` flag and further avoid any problems with them.
### Proposed Solution
_No response_
### Other Information
_No response_
### Acknowledgements
- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### CDK version used
1.187.0
### Environment details (OS name and version, etc.)
independent
Contributor guide
Research direction
Start by locating the TypeScript implementation and tests for the aws-eks KubernetesManifest construct, then trace how updates are represented to CloudFormation and Kubernetes. Determine how a replace option would delete the old manifest before applying the new one, and add coverage for immutable resources such as StorageClasses.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, kubernetes, typescript
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100