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

fix: work with Cloudflare WARP #963

Merged
merged 1 commit into from
May 11, 2022
Merged

fix: work with Cloudflare WARP #963

merged 1 commit into from
May 11, 2022

Conversation

threepointone
Copy link
Contributor

@threepointone threepointone commented May 11, 2022

Using wrangler with Cloudflare WARP (https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/) requires using the Cloudflare certificate. This patch simply uses the certificate as NODE_EXTRA_CA_CERTS when we start wrangler.

Test plan:

  • Turn on Cloudflare WARP/ Gateway with WARP
  • wrangler dev
  • Turn on Cloudflare WARP/ Gateway with DoH
  • wrangler dev
  • Turn off Cloudflare WARP
  • wrangler dev

Fixes #953, #850

@changeset-bot
Copy link

changeset-bot bot commented May 11, 2022

🦋 Changeset detected

Latest commit: ad1ce22

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
wrangler Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Contributor

github-actions bot commented May 11, 2022

A wrangler prerelease is available for testing. You can install this latest build in your project with:

npm install --save-dev https://prerelease-registry.developers.workers.dev/runs/2307096669/npm-package-wrangler-963

You can reference the automatically updated head of this PR with:

npm install --save-dev https://prerelease-registry.developers.workers.dev/prs/963/npm-package-wrangler-963

Or you can use npx with this latest build directly:

npx https://prerelease-registry.developers.workers.dev/runs/2307096669/npm-package-wrangler-963 dev path/to/script.js

@threepointone
Copy link
Contributor Author

Huh, I'm actually able to reproduce the test failures locally. Investigating.

@threepointone threepointone marked this pull request as draft May 11, 2022 12:09
Using wrangler with Cloudflare WARP (https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/) requires using the Cloudflare certificate. This patch simply uses the certificate as NODE_EXTRA_CA_CERTS when we start wrangler.

Test plan:

- Turn on Cloudflare WARP/ Gateway with WARP
- `wrangler dev`
- Turn on Cloudflare WARP/ Gateway with DoH
- `wrangler dev`
- Turn off Cloudflare WARP
- `wrangler dev`

Fixes #953, #850
@threepointone threepointone marked this pull request as ready for review May 11, 2022 12:44
@threepointone
Copy link
Contributor Author

Alright, I figured it out. You need to extend env with process.env to pass on all env values. Also caught a bug, where I wasn't including the .pem file in the published package. Fixed both, hopefully CI passes now, and I'll land it.

// use cloudflare WARP, but let's wait till the situation actually
// arises before we do anything about it
} else {
pathToCACerts = join(__dirname, "../Cloudflare_CA.pem");
Copy link
Contributor

Choose a reason for hiding this comment

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

Luckily you can get away with using __dirname here because we are not bundling this file with esbuild 😺

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ship with the Cloudflare Zero Trust root certifciate
2 participants