Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a POC for using cloudflare and aws together to deploy open-next
This is very messy at the moment as i just copied a bunch of stuff
What's included
A cloudflare worker is used as a router to either serve static file or to redirect to either the
imageOptimizer
function in aws or the external middleware which is also on a cloudflare worker.The middleware cloudflare worker then execute all the necessary routing (including next.config headers, redirects and rewrites) and the middleware.
It also creates all the necessary functions on lambda (image optimization, default server and all the other server functions)
It also creates an R2 bucket for the static assets.
Requirements
A
middleware.ts
file is necessary.It also requires some specific stuff in
open-next.config.ts
:What's not implemented or broken
There is no automatic upload to R2, this needs to be done manually.
Somehow every fetch to the cloudflare api is broken for me (i've probably done something wrong, i have a connect timeout for every call), so in order to test i had to break the
WorkersUrl
, i then manually enabled the url in cloudflareEdge function are not deployed, api route (from app router) should already work if implemented in the construct
No support for wasm and assets, it should work, but we need to add this to the construct.