restatedev / restatedev/sdk-rust

Cloudflare worker support

Open
#85 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
85
Forks
27
Avg merge
6d 20h
Merged PRs (30d)
2

Description

Following up on #65 and the Discord discussion

I looked at #65 and it looks good for the most part, but the SDK changed significantly since that PR.

Parts that can be salvaged from that PR:

  • Cloudflare doesn't support bidirectional streaming, so the protocol mode either needs to be exported or the CF integration needs to validate it. (Interestingly, the TypeScript SDK seems to allow bidirectional streaming on CF, but I don't think that works. Or does it?)
  • Request-response logic (although I think there are simpler ways to return the data)

Based on my initial tests the first blocker: jsonwebtoken and ring cannot be compiled to wasm (or it's problematic?). They are used in the core. I've used jwt-simple on CF with success.

@slinkydeveloper what do you think about that last bit?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing prior PR #65 and the linked Discord discussion, then inspect the core uses of jsonwebtoken and ring. Verify whether those dependencies compile for WebAssembly and how Cloudflare's lack of bidirectional streaming affects protocol-mode handling. Done means the Cloudflare Worker path has an agreed implementation and validation for these blockers.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.