Merged
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR migrates the funcd runtime from a TCP-based HTTP reverse proxy architecture to an IPC-based (Unix socket) proxy designed for AWS Lambda. The implementation removes WebSocket and SSE support, simplifies the runtime to focus on basic HTTP proxying, and adds Lambda response streaming capabilities.
- Replaced axum-based HTTP reverse proxy with reqwest Unix socket client for IPC communication
- Migrated to lambda_http and lambda_runtime for AWS Lambda integration
- Added response streaming support with configurable toggle
Reviewed Changes
Copilot reviewed 16 out of 18 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| script/watch | New script for running cargo lambda watch during development |
| script/build | New script for building Lambda deployment package with ARM64 target |
| script/test-websocket | Removed WebSocket testing script (feature no longer supported) |
| script/test-sse | Removed SSE testing script (feature no longer supported) |
| script/socksend | Removed socket communication utility (no longer needed) |
| examples/websocket.js | Removed WebSocket example (feature no longer supported) |
| examples/sse.js | Removed inline comments explaining code behavior |
| examples/echo.js | New simple echo example demonstrating basic request/response |
| crates/funcd/ts/entry_point.ts | Updated environment variables to use new socket paths and removed WebSocket support |
| crates/funcd/src/server.rs | Complete rewrite implementing IPC proxy with streaming and non-streaming handlers |
| crates/funcd/src/runtime.rs | Refactored to use centralized Paths configuration struct |
| crates/funcd/src/main.rs | Integrated Lambda runtime and proxy initialization with streaming support |
| crates/funcd/src/ipc.rs | Updated IPC message protocol to remove port information |
| crates/funcd/src/config.rs | Restructured configuration with new Paths struct and crypto provider setup |
| crates/funcd/Cargo.toml | Updated dependencies for Lambda runtime and removed axum dependencies |
| README.md | Updated description to minimal emoji |
| Cargo.toml | Whitespace formatting |
| .gitignore | Added bin/ and out/ directories |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
also using IPC to proxy requests now