goland debug stack#114
Conversation
WalkthroughThis change introduces GoLand IDE run configurations for the payroll server, payroll worker, and tx_indexer worker components, along with a compound configuration to launch all three together. The README is updated with instructions for local debugging using these configurations. Minor formatting adjustments are made to the docker-compose.yaml file. Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant GoLand IDE
participant PayrollServer
participant PayrollWorker
participant TxIndexerWorker
Developer->>GoLand IDE: Select "[git] plugin stack" run config
GoLand IDE->>PayrollServer: Start with env vars (payroll.server)
GoLand IDE->>PayrollWorker: Start with env vars (payroll.worker)
GoLand IDE->>TxIndexerWorker: Start with env vars (tx_indexer.worker)
PayrollServer-->>GoLand IDE: Running
PayrollWorker-->>GoLand IDE: Running
TxIndexerWorker-->>GoLand IDE: Running
Assessment against linked issues
Possibly related PRs
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 (
|
There was a problem hiding this comment.
Actionable comments posted: 4
🔭 Outside diff range comments (2)
docker-compose.yaml (1)
92-106:shared_networkdeclared as external but README instructs to createshared-network– runtime breakage likely
docker-compose.yamlexpects an existing external network namedshared_network(underscore), however the README snippet added in this PR instructs developers to createshared-network(dash).
Docker will fail withnetwork shared_network declared as external, but could not be foundunless the correct name is used.Diff-style fix for the README snippet (safer than changing compose, because other services may already rely on the underscore):
-# create shared network in docker -docker network create shared-network +# create shared network in docker +docker network create shared_networkPlease update either the compose file or the docs so the names match.
README.md (1)
92-108: Network name typo in setup instructions – will brickdocker-compose upThe new “Start Services” section tells users to create
shared-network, but the compose file expectsshared_network. Update the docs or compose file to use a single canonical name (see comment in docker-compose.yaml).
🧹 Nitpick comments (2)
README.md (1)
105-113: Minor English & formatting nits“backend services outside Docker” → “outside of Docker”;
Add Oxford comma and full stop to bullet list;
Consider turning the paragraph into a numbered step for clarity..run/[git] plugin stack.run.xml (1)
1-8: IDE-specific.runfiles in VCS – confirm team policy
.runXMLs are GoLand-specific metadata. Committing them can clutter the repo for non-JetBrains users and create merge noise.
Validate that the team has agreed to keep these files under version control; otherwise consider adding.run/to.gitignoreor moving the config into documentation.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
readme-static/goland-run.pngis excluded by!**/*.png
📒 Files selected for processing (6)
.run/[git] payroll server.run.xml(1 hunks).run/[git] payroll worker.run.xml(1 hunks).run/[git] plugin stack.run.xml(1 hunks).run/[git] tx_indexer worker.run.xml(1 hunks)README.md(2 hunks)docker-compose.yaml(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: RaghavSood
PR: vultisig/plugin#36
File: api/server.go:21-33
Timestamp: 2025-05-07T08:23:45.882Z
Learning: The import path `github.com/vultisig/verifier/plugin` refers to an external dependency that provides the plugin interface, and should not be changed to `github.com/vultisig/plugin/plugin` as these are distinct packages with different purposes.
🔇 Additional comments (4)
docker-compose.yaml (1)
100-104: Whitespace clean-up looks goodThe removal of the trailing space after
minio_data:is benign and keeps the YAML tidy..run/[git] payroll server.run.xml (1)
5-10: Hard-coded credentials & DSN mismatch with docker-compose
- The DSN targets database
vultisig-plugin, whereas the compose-side server usesvultisig-payroll. Decide on one database name and keep it consistent.- Exposing real credentials (
myuser/mypassword) in VCS is acceptable for local dev but still worth masking (example/example) or moving to.envto avoid leaks..run/[git] payroll worker.run.xml (1)
5-8:BASE_FILE_PATHvsBASE_CONFIG_PATH– pick oneThe server run config uses
BASE_CONFIG_PATHwhile the worker usesBASE_FILE_PATH. Unless the code treats them separately, this asymmetry can break config loading.- <env name="BASE_FILE_PATH" value="etc/vultisig" /> + <env name="BASE_CONFIG_PATH" value="etc/vultisig" />Please verify which env key the worker actually reads.
.run/[git] plugin stack.run.xml (1)
3-5: Ensure referenced run configs are presentThe compound config points to three individual configurations by name.
Double-check that the matching files ([git] payroll server.run.xml, etc.) are also committed; if they aren’t, this stack config will appear broken in GoLand.
Docker local stack prepared by @johnnyluo works perfect but it takes time to rebuild images, and it's hard to use breakpoints inside Docker. For convenient local development/debug I prepared shared configs to run backend services locally outside Docker
Closes vultisig/verifier#225
Summary by CodeRabbit
New Features
Documentation
Style