jiengup opened a new pull request, #3656: URL: https://github.com/apache/iggy/pull/3656
Which issue does this PR address? Relates to # (devcontainer support for reproducible development environment) ## Rationale The repository lacked a devcontainer configuration, making onboarding inconsistent — each developer needs to manually install the correct Rust toolchain, Node.js, and system dependencies. On GitHub Codespaces, the default 8GB machine ran out of memory during rust-analyzer indexing, causing repeated SIGTERM crashes. ## What changed? Added `.devcontainer/Dockerfile` and `.devcontainer/devcontainer.json` that: - Mirror the production Dockerfile dependencies (Rust 1.96 via rustup, libssl-dev, libhwloc-dev, libudev-dev, nodejs) so the dev environment matches CI. - Configure `hostRequirements` (4-core / 16GB) to prevent rust-analyzer OOM kills on Codespaces. - Cap build parallelism (`CARGO_BUILD_JOBS=4`) and enable proc-macros/build-scripts for usable IDE features while staying within memory limits. - Forward ports for all transports (HTTP 3000, QUIC 8080, TCP 8090, WebSocket 8092) plus the web UI dev server (3050). - Run `npm --prefix web ci` on container creation so the web frontend is ready immediately. ## Local Execution - Passed — container builds, `cargo check` succeeds, rust-analyzer code navigation (Go to Definition / autocomplete) works. - Verified on both local Docker Desktop (macOS arm64) and GitHub Codespaces (4-core/16GB). ## AI Usage LLM is used to generate the devcontainer configuration files and all the changes are checked by the human. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
