Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: 171 CloudFront Redesign #174

Merged
merged 11 commits into from
Jul 9, 2020
Merged

RFC: 171 CloudFront Redesign #174

merged 11 commits into from
Jul 9, 2020

Conversation

njlynch
Copy link
Contributor

@njlynch njlynch commented Jun 16, 2020


title: "RFC: #171 CloudFront Redesign"
labels: management/rfc

Proposal to redesign the @aws-cdk/aws-cloudfront module.

The current module does not adhere to the best practice naming conventions or ease-of-use patterns that are present in the other CDK modules. A redesign of the API will allow for friendly, easier access to common patterns and usages.

This RFC does not attempt to lay out the entire API; rather, it focuses on a complete re-write of the module README with a focus on the most common use cases and how they work with the new design. More detailed designs and incremental API improvements will be tracked as part of GitHub Project Board once the RFC is approved.

Rendered version


By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache-2.0 license

@mergify
Copy link
Contributor

mergify bot commented Jun 16, 2020

Title does not follow the guidelines of Conventional Commits. Please adjust title before merge.

@eladb eladb changed the title RFC: 0171 CloudFront Redesign RFC: 171 CloudFront Redesign Jun 23, 2020
@njlynch njlynch requested a review from iliapolo June 23, 2020 15:07
Copy link
Contributor

@skinny85 skinny85 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks awesome! The new API is miles ahead of the current one, the head-to-head examples show that beautifully.

Some comments, but nothing major. Great job!

text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
@njlynch njlynch marked this pull request as ready for review June 29, 2020 11:38
Copy link
Contributor

@iliapolo iliapolo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't gone through the whole thing yet, but we already some stuff to figure out :)

text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
text/0171-cloudfront-redesign.md Show resolved Hide resolved
Copy link
Contributor

@skinny85 skinny85 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One tiny comment that I've missed before.

text/0171-cloudfront-redesign.md Outdated Show resolved Hide resolved
@njlynch njlynch merged commit 4970299 into aws:master Jul 9, 2020
@wcauchois
Copy link

I like this design! I'm currently using the cloudfront module and I feel like the existing ergonomics leave tons of room for improvement :)

Apologies if this is a naive question, but my understanding is that this is only the RFC - would there be a place where I could track implementation/release of these constructs? Thanks!

mergify bot pushed a commit to aws/aws-cdk that referenced this pull request Jul 16, 2020
See aws/aws-cdk-rfcs#174 for the design that inspired this implementation.

The goal of this initial PR is to get the new Distribution construct to the point where it supports the most common use cases, in terms of single- and multi-origin and behaviors with the most common properties exposed and working. This is not intended to be a complete/exhaustive implementation, but does allow for users with S3 buckets to create CloudFront distributions more easily than the existing construct today.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@njlynch njlynch deleted the njlynch/rfc171 branch July 16, 2020 17:23
@njlynch
Copy link
Contributor Author

njlynch commented Jul 16, 2020

@wcauchois - Thanks for the interest and feedback!

We are proceeding forward with the implementation, and using this milestone to track the initial "developer preview" launch: https://github.com/aws/aws-cdk/milestone/5.

eladb pushed a commit that referenced this pull request Jul 27, 2020
* RFC: 0171 CloudFront Redesign - initial rough ideas

* Iteration #2 of the API, sans the Lambda@Edge functionality.

Still in draft state, but hopefully getting closer.

* Lambda@Edge API v1, plus some of the open questions and other sections filled in.

* Added detailed design section, including before/after examples

* Proper namespacing in the examples, and updated the open questions

* Minor update to force pull request refresh

* Minor changes per feedback; removing the 'draft' tag

* Distribution.for* syntactic sugar

* Removing Distribution.behavior, keeping origin->behavior nesting consistent

* Minor API updates per feedback and lessons learned from implementation

* Added implementation note for capturing behavior ordering
curtiseppel pushed a commit to curtiseppel/aws-cdk that referenced this pull request Aug 11, 2020
See aws/aws-cdk-rfcs#174 for the design that inspired this implementation.

The goal of this initial PR is to get the new Distribution construct to the point where it supports the most common use cases, in terms of single- and multi-origin and behaviors with the most common properties exposed and working. This is not intended to be a complete/exhaustive implementation, but does allow for users with S3 buckets to create CloudFront distributions more easily than the existing construct today.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants