Skip to content

v0.2.4: Serverless wake-on-HTTP and snapshot push

Choose a tag to compare

@sumansaurabh sumansaurabh released this 24 May 16:50
· 2789 commits to main since this release
c6c7a3a

Features in v0.2.4

Highlights

  • Serverless sandboxes wake on HTTP. A request to a sleeping sandbox starts it and waits, with a direct-route bypass once it is warm.
  • Snapshots push in the background. A reconciler retries a snapshot upload that did not finish at create time.
  • Cluster ownership is replayed on start, and ingress routing is shard-aware.

Serverless (#112–#114, #116)

  • An HTTP request for a stopped serverless sandbox triggers wake. The handler waits up to the configured upstream readiness timeout.
  • After the sandbox is warm, later requests skip the wake path.
  • The dashboard shows whether a runtime is asleep or running.

Snapshots and cluster (#110, #115, #124)

  • Snapshot registration marks the object pending and a background reconciler pushes it. A race in that pending mark is fixed. (#111)
  • On restart, a node replays the sandboxes it owns and reconciles them.
  • Ingress validates the shard and routes to the owner.

What's Changed

  • feat: Implement background snapshot push reconciler and enhance snapshot handling by @sumansaurabh in #110
  • Fix race condition in TestRegisterSnapshotWithPusherMarksPending by @Copilot in #111
  • feat: Implement serverless functionality with wake-on-HTTP support by @sumansaurabh in #112
  • feat: enhance serverless sandbox wake behavior and dashboard runtime status display by @sumansaurabh in #113
  • feat: add upstream readiness timeout for HTTP wake handler and update related configurations by @sumansaurabh in #114
  • feat: Implement cluster ownership replay and reconciliation logic by @sumansaurabh in #115
  • Implement warm direct-route bypass for serverless HTTP ingress by @sumansaurabh in #116
  • feat: Enhance cluster routing with shard-aware ingress and validation by @sumansaurabh in #124

New Contributors

  • @Copilot made their first contribution in #111

Full Changelog: v0.2.3...v0.2.4