Skip to content

Add gRPC container template - #1161

Merged
deloreyj merged 11 commits into
cloudflare:mainfrom
irvinebroque:grpc-container-template
Sep 30, 2026
Merged

deloreyj merged 11 commits into
cloudflare:mainfrom
irvinebroque:grpc-container-template

Conversation

@irvinebroque

@irvinebroque irvinebroque commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Description

Adds a published grpc-container-template demonstrating bidirectional gRPC streaming through a Worker connect() handler, a Durable Object, and a Cloudflare Container TCP port.

The template assumes inbound TCP is available to Workers attached to a paid Cloudflare zone on a Pro or Business plan.

The template includes:

  • a containerized Node.js gRPC byte-stream service and local client
  • raw TCP Worker and Durable Object handlers, plus a plain-text HTTP status response with no browser UI
  • six Workers unit tests
  • a repository Playwright test that runs the complete raw TCP smoke test
  • a Docker-backed end-to-end test for the Worker, Durable Object, and Container tunnel
  • published Dashboard metadata, hosted preview image and icon URLs, lockfiles, generated types, and documentation

Verification

  • template lint
  • npm lockfile validation
  • Prettier check
  • pnpm --filter grpc-container-template test
  • pnpm --filter grpc-container-template check
  • pnpm exec playwright test playwright-tests/grpc-container-template.spec.ts
  • pnpm --filter grpc-container-template test:e2e
  • main PR checks and raw TCP E2E

Checklist

  • Template Metadata
    • template directory ends with -template
    • cloudflare.publish is enabled
    • cloudflare.label, products, category, and docs URL are populated
    • preview image and icon URLs are configured
    • README is populated and uses <!-- dash-content-start --> and <!-- dash-content-end -->
    • .gitignore file exists
    • package.json contains a deploy command
    • package.json contains private: true and no version field

@github-actions

Copy link
Copy Markdown
Contributor
template name version latestVersion isDevDependency
grpc-container-template @cloudflare/vitest-plugin 1.1.3 1.2.5 true
grpc-container-template @vitest/runner 4.1.10 4.1.11 true
grpc-container-template @vitest/snapshot 4.1.10 5.0.1 true
grpc-container-template typescript 5.9.3 7.0.2 true
grpc-container-template vitest 4.1.10 5.0.1 true
grpc-container-template wrangler 4.136.1 4.138.0 true

@irvinebroque
irvinebroque force-pushed the grpc-container-template branch from ebe3478 to 7434487 Compare September 24, 2026 19:51
@irvinebroque
irvinebroque force-pushed the grpc-container-template branch from 7434487 to 21fc707 Compare September 24, 2026 19:52
@github-actions

Copy link
Copy Markdown
Contributor
template name version latestVersion isDevDependency
grpc-container-template @cloudflare/vitest-plugin 1.1.3 1.2.5 true
grpc-container-template @vitest/runner 4.1.10 4.1.11 true
grpc-container-template @vitest/snapshot 4.1.10 5.0.1 true
grpc-container-template typescript 5.9.3 7.0.2 true
grpc-container-template vitest 4.1.10 5.0.1 true
grpc-container-template wrangler 4.136.1 4.139.0 true

@github-actions

Copy link
Copy Markdown
Contributor
template name version latestVersion isDevDependency
grpc-container-template @cloudflare/vitest-plugin 1.1.3 1.2.6 true
grpc-container-template @vitest/runner 4.1.10 4.1.11 true
grpc-container-template @vitest/snapshot 4.1.10 5.0.1 true
grpc-container-template typescript 5.9.3 7.0.2 true
grpc-container-template vitest 4.1.10 5.0.1 true
grpc-container-template wrangler 4.136.1 4.139.0 true

@irvinebroque
irvinebroque marked this pull request as ready for review September 26, 2026 16:30
@github-actions

Copy link
Copy Markdown
Contributor
template name version latestVersion isDevDependency
grpc-container-template @cloudflare/vitest-plugin 1.1.3 1.2.8 true
grpc-container-template @vitest/runner 4.1.10 4.1.11 true
grpc-container-template @vitest/snapshot 4.1.10 5.0.2 true
grpc-container-template typescript 5.9.3 7.0.2 true
grpc-container-template vitest 4.1.10 5.0.2 true
grpc-container-template wrangler 4.136.1 4.141.0 true

@github-actions

Copy link
Copy Markdown
Contributor
template name version latestVersion isDevDependency
grpc-container-template @cloudflare/vitest-plugin 1.1.3 1.3.3 true
grpc-container-template @vitest/runner 4.1.10 4.1.11 true
grpc-container-template @vitest/snapshot 4.1.10 5.0.2 true
grpc-container-template typescript 5.9.3 7.0.2 true
grpc-container-template vitest 4.1.10 5.0.2 true
grpc-container-template wrangler 4.136.1 4.144.0 true

@deloreyj
deloreyj merged commit f4e0814 into cloudflare:main Sep 30, 2026
3 checks passed
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.

2 participants