chore: lumen entrypoint in docker compose#2398
Conversation
WalkthroughThe docker-compose configuration for the Changes
Suggested reviewers
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
The latest Buf updates on your PR. Results from workflow CI and Release / buf-check (pull_request).
|
There was a problem hiding this comment.
Summary of Changes
Hello @auricom, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request refines the Docker Compose configuration for the lumen service, specifically in the apps/evm/single directory. The primary goal is to enhance the readability and maintainability of the lumen command execution within the container, aligning with recent changes in the lumen container image that support standard Unix binaries. This is achieved by adjusting the entrypoint and restructuring the command definition.
Highlights
- Docker Compose Configuration: The
docker-compose.ymlfile for thelumenservice inapps/evm/single/docker-compose.ymlhas been updated to explicitly define anentrypointas/bin/sh -c. - Command Readability and Maintainability: The
commanddefinition for thelumenservice has been refactored. Previously, it was a long YAML list where each argument was a separate item. Now, it's consolidated into a single, multi-line string starting withlumen node \, which significantly improves the readability and maintainability of thelumencommand and its parameters within the Docker Compose file.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Code Review
This pull request refactors the docker-compose.yml for the rollkit-reth service to improve the readability of the startup command. The change is a good improvement. I've provided a couple of suggestions to further enhance the readability and robustness of the configuration by using the list form for entrypoint and the folded block scalar for the command.
| - ./chain:/root/chain:ro | ||
| - ./jwttoken:/root/jwt:ro | ||
| - logs:/root/logs | ||
| entrypoint: /bin/sh -c |
| - | | ||
| lumen node \ | ||
| --chain /root/chain/genesis.json \ | ||
| --metrics 0.0.0.0:9001 \ | ||
| --log.file.directory /root/logs \ | ||
| --authrpc.addr 0.0.0.0 \ | ||
| --authrpc.port 8551 \ | ||
| --authrpc.jwtsecret /root/jwt/jwt.hex \ | ||
| --http --http.addr 0.0.0.0 --http.port 8545 \ | ||
| --http.api eth,net,web3,txpool \ | ||
| --ws --ws.addr 0.0.0.0 --ws.port 8546 \ | ||
| --ws.api eth,net,web3 \ | ||
| --engine.persistence-threshold 0 \ | ||
| --engine.memory-block-buffer-target 0 \ | ||
| --disable-discovery \ | ||
| --txpool.pending-max-count 200000 \ | ||
| --txpool.pending-max-size 200 \ | ||
| --txpool.queued-max-count 200000 \ | ||
| --txpool.queued-max-size 200 \ | ||
| --txpool.max-account-slots 2048 \ | ||
| --txpool.max-new-txns 2048 \ | ||
| --txpool.additional-validation-tasks 16 \ | ||
| --rollkit.enable |
There was a problem hiding this comment.
Using the folded block scalar > is a bit cleaner here as it avoids the need for trailing backslashes on each line, improving readability.
- >
lumen node
--chain /root/chain/genesis.json
--metrics 0.0.0.0:9001
--log.file.directory /root/logs
--authrpc.addr 0.0.0.0
--authrpc.port 8551
--authrpc.jwtsecret /root/jwt/jwt.hex
--http --http.addr 0.0.0.0 --http.port 8545
--http.api eth,net,web3,txpool
--ws --ws.addr 0.0.0.0 --ws.port 8546
--ws.api eth,net,web3
--engine.persistence-threshold 0
--engine.memory-block-buffer-target 0
--disable-discovery
--txpool.pending-max-count 200000
--txpool.pending-max-size 200
--txpool.queued-max-count 200000
--txpool.queued-max-size 200
--txpool.max-account-slots 2048
--txpool.max-new-txns 2048
--txpool.additional-validation-tasks 16
--rollkit.enable
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
apps/evm/single/docker-compose.yml (1)
20-42: Reduce YAML noise – prefer a folded scalar (>) for the long shell commandThe command is wrapped in a one-element list plus explicit back-slashes.
A cleaner, easier-to-diff variant is:command: > lumen node --chain /root/chain/genesis.json --metrics 0.0.0.0:9001 --log.file.directory /root/logs --authrpc.addr 0.0.0.0 --authrpc.port 8551 --authrpc.jwtsecret /root/jwt/jwt.hex --http --http.addr 0.0.0.0 --http.port 8545 --http.api eth,net,web3,txpool --ws --ws.addr 0.0.0.0 --ws.port 8546 --ws.api eth,net,web3 --engine.persistence-threshold 0 --engine.memory-block-buffer-target 0 --disable-discovery --txpool.pending-max-count 200000 --txpool.pending-max-size 200 --txpool.queued-max-count 200000 --txpool.queued-max-size 200 --txpool.max-account-slots 2048 --txpool.max-new-txns 2048 --txpool.additional-validation-tasks 16 --rollkit.enableBenefits: no escaping, better readability, aligns with prior review advice.
(Keep the backslashes only if you must preserve a single logical line.)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
apps/evm/single/docker-compose.yml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (7)
- GitHub Check: test / Run E2E System Tests
- GitHub Check: test / Run EVM Execution Tests
- GitHub Check: test / Run Unit Tests
- GitHub Check: test / Build Rollkit Docker Image
- GitHub Check: test / Build Rollkit EVM Single Docker Image
- GitHub Check: Analyze (go)
- GitHub Check: Summary
🔇 Additional comments (1)
apps/evm/single/docker-compose.yml (1)
18-18:/bin/sh -cmust be expressed as a list – current form breaks the entrypointCompose treats the whole string
/bin/sh -cas a single executable path, so the container will try to run a file literally named-c, which fails.
Convert to list form so-cis passed as an argument:- entrypoint: /bin/sh -c + entrypoint: ["/bin/sh", "-c"][raise_critical_issue, duplicate_comment]
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2398 +/- ##
==========================================
- Coverage 73.05% 72.99% -0.07%
==========================================
Files 67 67
Lines 6339 6339
==========================================
- Hits 4631 4627 -4
- Misses 1313 1316 +3
- Partials 395 396 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
## Overview Better readability and maintainability for lumen command thanks to supporting standard unix binaries on the lumen container image cf evstack/ev-reth@bbca148 Same as #2398 but on missed docker compose files in `execution/evm/docker` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated Docker Compose service configurations to improve command execution formatting. No changes to service parameters or functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Overview
Better readability and maintainability for lumen command thanks to supporting standard unix binaries on the lumen container image cf evstack/ev-reth@bbca148
Summary by CodeRabbit