cloudfront: l2 support for continuous deployment
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Describe the feature
Add support for [`AWS::CloudFront::ContinuousDeploymentPolicy`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html) to enable [continuous deployment in CloudFront ](https://aws.amazon.com/blogs/networking-and-content-delivery/use-cloudfront-continuous-deployment-to-safely-validate-cdn-changes/):
- Having the CFN Construct at least.
- Ideally a L2 construct would be better.
- Would also be great to support `CloudFrontWebDistribution`, so that we can switch between two S3 buckets.
- Ultimately, would be awesome to have an L3 Construct that gives the ability to do linear and canary deployment by having a Lambda (CustomResource) which [modify](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateContinuousDeploymentPolicy.html) the weight progressively. Happy to work on this last one, once the CFN/L2 constructs are available.
### Use Case
Using CFN is fine but CDK is better. So that we can automate continuous deployment of our distribution using code.
### 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
2.51.1
### Environment details (OS name and version, etc.)
Mac OS Monterey 12.6.1
Contributor guide
Research direction
Start with the AWS::CloudFront::ContinuousDeploymentPolicy documentation and compare it with the existing CloudFrontWebDistribution support in the CDK repository. Clarify which L2 properties and distribution integration are in scope before implementation; done should provide the requested CFN/L2 support and documented switching behavior, while the optional L3 canary workflow remains separately scoped.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, 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