feat(sdk): add nitro process manager#330
Conversation
|
There was a problem hiding this comment.
Pull Request Overview
This PR adds the hivemind process manager to the @cartesi/sdk Docker image, enabling users to run multiple Cartesi rollups processes simultaneously using a simple Procfile configuration.
- Added hivemind binary installation to the Docker build process
- Configured hivemind version as a build argument for flexibility
- Added changeset documenting the new feature as a minor version update
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| packages/sdk/docker-bake.hcl | Added HIVEMIND_VERSION build argument (1.1.0) |
| packages/sdk/Dockerfile | Added hivemind installer stage and binary copy to final image |
| .changeset/legal-hotels-change.md | Added changeset for minor version bump |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
b98716f to
bbd6f28
Compare
bbd6f28 to
0b2b773
Compare
This pull request introduces support for the Nitro runtime in the SDK Docker build, along with related configuration and setup improvements. The most important changes include adding a build stage for Nitro, copying Nitro binaries into the final image, and introducing service run scripts for Nitro components. Minor improvements to build reliability and environment variable management are also included.
Nitro runtime integration:
packages/sdk/Dockerfilethat fetches and builds the Nitro binaries from the specified version.nitroandnitroctlbinaries from the Nitro build stage into the final Docker image.NITRO_VERSIONbuild argument inpackages/sdk/docker-bake.hclto control the Nitro version used.Service setup for Nitro components:
cartesi-rollups-advancer,cartesi-rollups-claimer,cartesi-rollups-evm-reader,cartesi-rollups-jsonrpc-api,cartesi-rollups-validator) in thepackages/sdk/skel/etc/nitro/directory to enable service execution in the container. [1] [2] [3] [4] [5]skel/directory into the image and set ownership appropriately for thecartesiuser.Build and environment improvements:
set -eandset -euwhere applicable. [1] [2]su-execfrom the Dockerfile.