Skip to content

[wrangler] Add vpc_networks binding support - #12992

Merged
edmundhung merged 4 commits into
cloudflare:mainfrom
RiscadoA:rantunes/WVPC-172-phase1
Apr 1, 2026
Merged

[wrangler] Add vpc_networks binding support#12992
edmundhung merged 4 commits into
cloudflare:mainfrom
RiscadoA:rantunes/WVPC-172-phase1

Conversation

@RiscadoA

@RiscadoA RiscadoA commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

Fixes WVPC-172.

Adds vpc_networks binding support, allowing Workers to route traffic through a Cloudflare Tunnel. At runtime, env.MY_VPC.fetch("http://internal-host/") routes through the tunnel. Each binding generates a Fetcher type. Like vpc_services, these bindings are always remote in wrangler dev.

Network bindings are configured through either a tunnel_id or a network_id:

{
  "vpc_networks": [{ "binding": "MY_FOO_VPC", "tunnel_id": "your-tunnel-uuid" }]
}
{
  "vpc_networks": [{ "binding": "MY_BAR_VPC", "network_id": "some-network-id" }]
}


Open with Devin

@RiscadoA
RiscadoA force-pushed the rantunes/WVPC-172-phase1 branch from b0de6cb to 3fac7aa Compare March 20, 2026 16:00
@changeset-bot

changeset-bot Bot commented Mar 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 3bd1f9c

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

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-project-automation github-project-automation Bot moved this to Untriaged in workers-sdk Mar 20, 2026
@RiscadoA
RiscadoA force-pushed the rantunes/WVPC-172-phase1 branch 8 times, most recently from ba592eb to 9d6de13 Compare March 25, 2026 18:33
@RiscadoA
RiscadoA marked this pull request as ready for review March 25, 2026 18:34
@RiscadoA
RiscadoA requested a review from a team as a code owner March 25, 2026 18:34
@RiscadoA
RiscadoA requested a review from edmundhung March 25, 2026 18:34
@workers-devprod

workers-devprod commented Mar 25, 2026

Copy link
Copy Markdown
Contributor

Codeowners approval required for this PR:

  • @cloudflare/wrangler
Show detailed file reviewers
  • packages/miniflare/src/plugins/index.ts: [@cloudflare/wrangler]
  • packages/miniflare/src/plugins/vpc-networks/index.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/config/config.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/config/environment.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/config/validation.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/map-worker-metadata-bindings.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/types.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/worker.ts: [@cloudflare/wrangler]
  • packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/e2e/remote-binding/miniflare-remote-resources.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/e2e/remote-binding/workers/vpc-network.js: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/api/startDevWorker/utils.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/deploy/durable-objects.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/deploy/get-remote-config-diff.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/type-generation.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/api/remoteBindings/index.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/api/startDevWorker/utils.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/deploy/check-remote-secrets-override.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/deploy/config-diffs.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/deployment-bundle/create-worker-upload-form.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/dev/miniflare/index.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/type-generation/index.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/utils/print-bindings.ts: [@cloudflare/wrangler]

devin-ai-integration[bot]

This comment was marked as resolved.

@pkg-pr-new

pkg-pr-new Bot commented Mar 25, 2026

Copy link
Copy Markdown
create-cloudflare

npm i https://pkg.pr.new/create-cloudflare@12992

@cloudflare/kv-asset-handler

npm i https://pkg.pr.new/@cloudflare/kv-asset-handler@12992

miniflare

npm i https://pkg.pr.new/miniflare@12992

@cloudflare/pages-shared

npm i https://pkg.pr.new/@cloudflare/pages-shared@12992

@cloudflare/unenv-preset

npm i https://pkg.pr.new/@cloudflare/unenv-preset@12992

@cloudflare/vite-plugin

npm i https://pkg.pr.new/@cloudflare/vite-plugin@12992

@cloudflare/vitest-pool-workers

npm i https://pkg.pr.new/@cloudflare/vitest-pool-workers@12992

@cloudflare/workers-editor-shared

npm i https://pkg.pr.new/@cloudflare/workers-editor-shared@12992

wrangler

npm i https://pkg.pr.new/wrangler@12992

commit: 3bd1f9c