Skip to content

Conversation

Jaguaras
Copy link
Contributor

  • Adding guidelines on how to start a node on Rotsee.
  • Editing the configuration file to improve clarity when using a local RPC provider.

Copy link
Contributor

coderabbitai bot commented Nov 26, 2024

📝 Walkthrough

Walkthrough

The changes in this pull request enhance the documentation for setting up nodes in production and testing environments. Key additions include detailed instructions for both setups in the deploy/compose/README.md file, along with a new "Examples" section under "Docker Compose usage." The hoprd.cfg.yaml configuration file has been updated for clarity regarding the local RPC provider setup. Additionally, the hopli/README.md file now features a new section for creating an identity and linking it to the Rotsee network.

Changes

File Path Change Summary
deploy/compose/README.md - Added sections for "Setup a node for production" and "Setup a node for testing."
- Introduced subsections under testing setup detailing identity creation, repository cloning, and configuration steps.
- Expanded "Docker Compose usage" with an "Examples" subsection.
- Updated "Stopping services" section for clarity.
deploy/compose/hoprd_data/hoprd.cfg.yaml - Updated provider field in chain section with a note on local RPC provider setup.
- Minor formatting changes in the api section.
hopli/README.md - Added "Examples" section detailing identity creation and setup for the Rotsee network.

Possibly related PRs

  • Fix P2P port configuration in the docker-compose deployment #6487: The changes in this PR involve updates to the hoprd.cfg.yaml file, which is relevant to the configuration instructions outlined in the main PR's README updates for setting up nodes, particularly regarding the P2P port configuration.
  • Update readme on docker compose #6554: This PR enhances the documentation related to Docker Compose setup, which aligns with the new sections added in the main PR's README for setting up nodes in production and testing environments.

Suggested labels

status:in-progress

Suggested reviewers

  • NumberFour8

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added dependencies Pull requests that update a dependency file crate:hopli labels Nov 26, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (8)
deploy/compose/README.md (5)

10-11: Fix grammatical issues in section headers

The word "Setup" is incorrectly used as a noun in section headers. Use "Set up" (verb form) instead.

-### Setup a node for production
+### Set up a node for production
-### Setup a node for testing
+### Set up a node for testing

Also applies to: 14-14

🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


38-41: Enhance environment variable descriptions

The environment variable descriptions could be more precise:

  • HOPRD_API_PORT: Specify if this port needs to be exposed externally
  • HOPRD_IMAGE: Include example values for both stable and latest tags
-- `HOPRD_API_PORT`: Adjust REST API port, default is `3001`.
-- `HOPRD_P2P_PORT`: Adjust the p2p communication port, default is `9091`.
-- `HOPRD_IMAGE`: Change the image tag from `stable` to `latest`. Example: `europe-west3-docker.pkg.dev/hoprassociation/docker-images/hoprd:latest`.
+- `HOPRD_API_PORT`: Port for the REST API (default: `3001`). Only expose externally if remote access is needed.
+- `HOPRD_P2P_PORT`: Port for P2P communication (default: `9091`). Must be exposed for network connectivity.
+- `HOPRD_IMAGE`: Docker image tag to use:
+  - Stable: `europe-west3-docker.pkg.dev/hoprassociation/docker-images/hoprd:stable`
+  - Latest: `europe-west3-docker.pkg.dev/hoprassociation/docker-images/hoprd:latest`
🧰 Tools
🪛 LanguageTool

[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


51-52: Improve metrics URL example formatting

The metrics URL example is very long and hard to read. Consider breaking it into multiple lines for better readability.

-Example: `https://prometheus-pushgateway.staging.hoprnet.link/metrics/job/node-chaos/hoprd_peer_id/12D3KooWBX5ENqYkKTevwiQXpTFYZTWs3S11bQiueX7QQqapTsaR/namespace/team/hoprd_network/rotsee/hoprd_address/0xb6b099780bdf1c1041783178b88be8c9449e75ab`
+Example:
+```
+https://prometheus-pushgateway.staging.hoprnet.link/metrics/
+  job/node-chaos/
+  hoprd_peer_id/12D3KooWBX5ENqYkKTevwiQXpTFYZTWs3S11bQiueX7QQqapTsaR/
+  namespace/team/
+  hoprd_network/rotsee/
+  hoprd_address/0xb6b099780bdf1c1041783178b88be8c9449e75ab
+```

80-80: Fix grammar in compound sentence

Add a comma before "so" as it connects two independent clauses.

-To start a node, ensure you are inside the compose folder so the profile functionality can be recognized.
+To start a node, ensure you are inside the compose folder, so the profile functionality can be recognized.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~80-~80: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~80-~80: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)


Line range hint 122-129: Add monitoring system prerequisites

The monitoring system examples would benefit from information about system requirements and resource usage.

Add a note about system requirements:

The default hoprd API endpoint is available at [http://localhost:3001](http://localhost:3001), with `HOPRD_API_PORT=3001` as the configured port.

3. Run hopr node with a full internal monitoring system (Prometheus and Grafana)

+> Note: Running a full monitoring stack requires additional system resources:
+> - Minimum 2GB RAM recommended
+> - At least 10GB of disk space for metrics retention
+
```shell
COMPOSE_PROFILES=hoprd,metrics-vis docker compose up -d

</blockquote></details>
<details>
<summary>hopli/README.md (3)</summary><blockquote>

`252-255`: **Consider adding prerequisite information**

While the setup instructions are clear, it would be helpful to include:
- Required system dependencies (e.g., Rust, cargo)
- Minimum system requirements
- Expected build time for new users

---

`259-259`: **Security: Consider removing RUST_BACKTRACE in production**

Setting `RUST_BACKTRACE=full` in production could expose sensitive information in error messages. Consider adding a warning note about this.

---

`277-277`: **Add error handling guidance**

For the safe-module creation command, consider adding:
- Common error scenarios and their solutions
- How to verify successful execution
- Troubleshooting steps if the RPC provider is unavailable

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used: .coderabbit.yaml**
**Review profile: CHILL**

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 5fcc89324a54b4e5557cadf65d96f53860fc3d7e and 27e8a216fd0b8c137ff3086dbb99916180346f4d.

</details>

<details>
<summary>⛔ Files ignored due to path filters (1)</summary>

* `vendor/cargo/windows-0.34.0/src/Windows/Win32/Security/Authentication/.DS_Store` is excluded by `!**/.DS_Store`, `!vendor/**`

</details>

<details>
<summary>📒 Files selected for processing (3)</summary>

* `deploy/compose/README.md` (4 hunks)
* `deploy/compose/hoprd_data/hoprd.cfg.yaml` (2 hunks)
* `hopli/README.md` (1 hunks)

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🪛 LanguageTool</summary>

<details>
<summary>deploy/compose/README.md</summary>

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications.  ## Setup  ### Setup a node for production  The `docker comp...

(SENT_START_NN_DT)

---

[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose).  ### Setup a node for testing  This guide will wal...

(SENT_START_NN_DT)

---

[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed:  - `HOPRD_API_PORT`: Adjust REST API port, default is `3001`...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is `3001`. - `HOPRD_P2P_PORT`: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is `9091`. - `HOPRD_IMAGE`: Change the image tag from `stable` to `...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data:  - `<NODE_NAME_FOR_GRAFANA>`: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: `node-chaos`. - `<NODE_PEER_ID>`: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...for-rotsee-network).  - `<MY_NAMESPACE>`: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: `team`. - `<NODE_NATIVE_ADDRESS>`: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets:  - `HOPRD_PASSWORD`: Replace `<YOUR HOPRD IDENTITY PASSWORD>...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network).  - `HOPRD_API_TOKEN`: Replace `<YOUR HOPRD API TOKEN>` with y...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~67-~67: Loose punctuation mark.
Context: ... the following fields:  - `host.address`: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~68-~68: Loose punctuation mark.
Context: ...where the node is running. - `host.port`: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~69-~69: Loose punctuation mark.
Context: ...nvironment-variables). - `chain.network`: Change `dufour` to `rotsee`. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~70-~70: Loose punctuation mark.
Context: ...`dufour` to `rotsee`. - `chain.provider`: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~71-~71: Loose punctuation mark.
Context: ... localhost. - `safe_module.safe_address`: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~72-~72: Loose punctuation mark.
Context: ...network). - `safe_module.module_address`: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~80-~80: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)

---

[formatting] ~80-~80: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)

</details>

</details>
<details>
<summary>🪛 Markdownlint (0.35.0)</summary>

<details>
<summary>deploy/compose/README.md</summary>

59-59: null
Link fragments should be valid

(MD051, link-fragments)

---

71-71: null
Link fragments should be valid

(MD051, link-fragments)

---

72-72: null
Link fragments should be valid

(MD051, link-fragments)

---

76-76: null
Link fragments should be valid

(MD051, link-fragments)

</details>

</details>
<details>
<summary>🪛 yamllint (1.35.1)</summary>

<details>
<summary>deploy/compose/hoprd_data/hoprd.cfg.yaml</summary>

[error] 38-38: no new line character at the end of file

(new-line-at-end-of-file)

</details>

</details>
<details>
<summary>🪛 Gitleaks (8.21.2)</summary>

<details>
<summary>hopli/README.md</summary>

261-261: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

</details>

</details>

</details>

<details>
<summary>🔇 Additional comments (1)</summary>

<details>
<summary>hopli/README.md (1)</summary>

`246-251`: **LGTM! Clear and well-structured introduction**

The new section provides a clear overview of the objectives and expected outcomes.

</details>

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (6)
deploy/compose/README.md (4)

10-10: Fix grammatical error in heading

"Setup" is a noun, while "Set up" is the verb form. Since this is an action heading, it should use the verb form.

-### Setup a node for production
+### Set up a node for production
🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


14-14: Fix grammatical error in heading

Same issue as above - "Setup" should be "Set up" when used as a verb.

-### Setup a node for testing
+### Set up a node for testing
🧰 Tools
🪛 LanguageTool

[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


76-76: Add example for local RPC provider configuration

When mentioning the http:// prefix requirement for local RPC providers, it would be helpful to include an example.

-- `chain.provider`: Enter the RPC endpoint URL. If using a local RPC endpoint, include the http:// prefix with the IP address or localhost.
+- `chain.provider`: Enter the RPC endpoint URL. If using a local RPC endpoint, include the http:// prefix with the IP address or localhost (e.g., `http://localhost:8545` or `http://127.0.0.1:8545`).
🧰 Tools
🪛 LanguageTool

[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


86-86: Improve clarity and grammar in launch instructions

The sentence needs better punctuation and more explicit directory instructions.

-The Docker Compose setup uses profiles. To start a node, ensure you are inside the compose folder so the profile functionality can be recognized. In this case we will start Docker compose using the `hoprd` profile (HOPR node) and the `metrics-push` profile (to push metrics to prometheus).
+The Docker Compose setup uses profiles. To start a node, ensure you are in the `compose` directory, so the profile functionality can be recognized. In this case, we will start Docker Compose using the `hoprd` profile (HOPR node) and the `metrics-push` profile (to push metrics to prometheus).
🧰 Tools
🪛 LanguageTool

[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)

hopli/README.md (2)

268-273: Add verification steps for identity creation

Please add information about:

  • Expected output of successful identity creation
  • How to verify the identity file was created correctly
  • Common troubleshooting steps

279-284: Add output format documentation

Please add:

  • Example output of the identity read command
  • Explanation of PeerID and native address formats
  • How to use this information in subsequent steps
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 27e8a21 and 0ba649c.

📒 Files selected for processing (2)
  • deploy/compose/README.md (4 hunks)
  • hopli/README.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
deploy/compose/README.md

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data: - <NODE_NAME_FOR_GRAFANA>: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network). - HOPRD_API_TOKEN: Replace <YOUR HOPRD API TOKEN> with y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes: - services.hoprd.ports: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes: - services.hoprd.ports: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)


[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields: - host.address: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - host.port: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - chain.network: Change dufour to rotsee. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - safe_module.safe_address: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - safe_module.module_address: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)

🪛 Markdownlint (0.35.0)
deploy/compose/README.md

59-59: null
Link fragments should be valid

(MD051, link-fragments)


77-77: null
Link fragments should be valid

(MD051, link-fragments)


78-78: null
Link fragments should be valid

(MD051, link-fragments)


82-82: null
Link fragments should be valid

(MD051, link-fragments)

🪛 Gitleaks (8.21.2)
hopli/README.md

261-261: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

🔇 Additional comments (4)
deploy/compose/README.md (2)

Line range hint 111-161: Examples section looks good!

The examples are well-structured, comprehensive, and provide clear instructions for different deployment scenarios.


29-29: 🛠️ Refactor suggestion

Consider using git clone for better efficiency

The current wget approach downloads the entire repository zip file just to extract a single folder. For developers who likely already have git installed, using git clone would be more efficient.

-wget https://github.com/hoprnet/hoprnet/archive/refs/heads/master.zip && unzip master.zip "hoprnet-master/deploy/compose/*" -d extracted_files && mv extracted_files/hoprnet-master/deploy/compose . && rm -rf master.zip extracted_files
+git clone https://github.com/hoprnet/hoprnet.git && cp -r hoprnet/deploy/compose . && rm -rf hoprnet

Likely invalid or redundant comment.

hopli/README.md (2)

245-251: LGTM! Clear and well-structured introduction

The section provides a clear overview of the objectives and expected outcomes.


277-277: Verify the RPC endpoint URL

The hardcoded RPC URL https://gnosis.rpc-provider.prod.hoprnet.link might need to be replaced with a placeholder or documentation link if it's not meant for public use.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (3)
deploy/compose/README.md (3)

10-14: Fix grammatical usage of "Setup" in headers

The word "Setup" is being used incorrectly as a verb in the section headers. When used as a verb phrase, it should be "Set up".

Apply these changes:

-### Setup a node for production
+### Set up a node for production
-### Setup a node for testing
+### Set up a node for testing
🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


57-62: Add security considerations for sensitive environment variables

The secrets configuration includes sensitive information like API tokens and passwords. Consider adding security recommendations:

  • Warn about not committing .env-secrets to version control
  • Recommend using a secure method to generate API tokens
  • Add guidance on password complexity requirements

Add this section before the secrets configuration:

+> ⚠️ Security Note:
+> - Never commit `.env-secrets` to version control
+> - Use a secure random generator for API tokens
+> - Ensure passwords are strong (min. 12 chars, mixed case, numbers, symbols)
+
 Adjust the following secrets:
🧰 Tools
🪛 LanguageTool

[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network). - HOPRD_API_TOKEN: Replace <YOUR HOPRD API TOKEN> with y...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 Markdownlint (0.35.0)

59-59: null
Link fragments should be valid

(MD051, link-fragments)


86-89: Add error handling guidance

The launch instructions should include guidance on verifying successful startup and troubleshooting common issues.

Add error handling section:

 Execute command: `COMPOSE_PROFILES=hoprd,metrics-push docker compose up -d`

+### Verifying Successful Launch
+
+1. Check container status:
+   ```shell
+   docker compose ps
+   ```
+
+2. View logs for errors:
+   ```shell
+   docker compose logs hoprd
+   ```
+
+### Common Issues
+
+- If the node fails to start, check:
+  - Port conflicts (9091 already in use)
+  - Invalid configuration in hoprd.cfg.yaml
+  - Missing or incorrect identity file
🧰 Tools
🪛 LanguageTool

[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 0ba649c and 5c526dc.

📒 Files selected for processing (1)
  • deploy/compose/README.md (4 hunks)
🧰 Additional context used
🪛 LanguageTool
deploy/compose/README.md

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data: - <NODE_NAME_FOR_GRAFANA>: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network). - HOPRD_API_TOKEN: Replace <YOUR HOPRD API TOKEN> with y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes: - services.hoprd.ports: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes: - services.hoprd.ports: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)


[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields: - host.address: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - host.port: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - chain.network: Change dufour to rotsee. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - safe_module.safe_address: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - safe_module.module_address: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)

🪛 Markdownlint (0.35.0)
deploy/compose/README.md

59-59: null
Link fragments should be valid

(MD051, link-fragments)


77-77: null
Link fragments should be valid

(MD051, link-fragments)


78-78: null
Link fragments should be valid

(MD051, link-fragments)


82-82: null
Link fragments should be valid

(MD051, link-fragments)

🔇 Additional comments (1)
deploy/compose/README.md (1)

47-50: Fix broken internal links

The links to steps are broken because they don't match the actual section IDs. This is a duplicate of a previous review comment.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)

@github-actions github-actions bot removed the dependencies Pull requests that update a dependency file label Nov 27, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
deploy/compose/README.md (3)

10-14: Fix grammar in section headings

The word "Setup" should be "Set up" when used as a verb phrase in headings.

Apply these changes:

-### Setup a node for production
+### Set up a node for production

-### Setup a node for testing
+### Set up a node for testing
🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


26-30: Consider removing git clone instructions

As this guide is primarily for developers who already have the repository, the git clone instructions may be redundant.

Consider removing this section or adding a note that this step is only for new developers.


36-41: Improve formatting of environment variables documentation

The environment variables and secrets sections use inconsistent bullet point formatting.

Consider using a table format for better readability:

| Variable | Description | Default |
|----------|-------------|---------|
| `HOPRD_API_PORT` | REST API port | 3001 |
| `HOPRD_P2P_PORT` | P2P communication port | 9091 |
| `HOPRD_IMAGE` | Image tag (e.g., `stable` or `latest`) | - |

Also applies to: 57-62

🧰 Tools
🪛 LanguageTool

[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 5c526dc and 9d923a9.

📒 Files selected for processing (1)
  • deploy/compose/README.md (4 hunks)
🧰 Additional context used
🪛 LanguageTool
deploy/compose/README.md

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data: - <NODE_NAME_FOR_GRAFANA>: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network). - HOPRD_API_TOKEN: Replace <YOUR HOPRD API TOKEN> with y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes: - services.hoprd.ports: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes: - services.hoprd.ports: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)


[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields: - host.address: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - host.port: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - chain.network: Change dufour to rotsee. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - safe_module.safe_address: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - safe_module.module_address: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)


[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services Important: You must use exactly the same COMPOSE_PROFILES values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)

🪛 Markdownlint (0.35.0)
deploy/compose/README.md

59-59: null
Link fragments should be valid

(MD051, link-fragments)


77-77: null
Link fragments should be valid

(MD051, link-fragments)


78-78: null
Link fragments should be valid

(MD051, link-fragments)


82-82: null
Link fragments should be valid

(MD051, link-fragments)

🔇 Additional comments (2)
deploy/compose/README.md (2)

157-202: Well-documented Docker compose usage section

The section provides clear examples and properly emphasizes the importance of using consistent profiles for starting and stopping services. The examples cover common use cases and include helpful explanations.

🧰 Tools
🪛 LanguageTool

[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services Important: You must use exactly the same COMPOSE_PROFILES values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)


59-59: Fix invalid link fragments in markdown

The link fragments need to be updated to match the actual section headings.

Update the following links:

-[1st step](#1-create-identity-and-make-it-eligible-for-rotsee-network)
+[1st step](#1-create-an-identity-and-make-it-eligible-for-the-rotsee-network)

Also applies to: 77-77, 78-78, 82-82

🧰 Tools
🪛 LanguageTool

[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 Markdownlint (0.35.0)

59-59: null
Link fragments should be valid

(MD051, link-fragments)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
deploy/compose/README.md (3)

10-14: Improve header grammar

The word "Setup" should be "Set up" when used as a verb phrase in headers.

Apply this change:

-### Setup a node for production
+### Set up a node for production
-### Setup a node for testing
+### Set up a node for testing
🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


36-49: Improve list formatting consistency

The environment variables section has inconsistent formatting in the lists. Some items have periods at the end while others don't.

Standardize the punctuation and formatting:

-  - `HOPRD_API_PORT`: Adjust REST API port, default is `3001`.
-  - `HOPRD_P2P_PORT`: Adjust the p2p communication port, default is `9091`.
-  - `HOPRD_IMAGE`: Change the image tag from `stable` to `latest`. Example: `europe-west3-docker.pkg.dev/hoprassociation/docker-images/hoprd:latest`.
+  - `HOPRD_API_PORT`: Adjust REST API port, default is `3001`
+  - `HOPRD_P2P_PORT`: Adjust the p2p communication port, default is `9091`
+  - `HOPRD_IMAGE`: Change the image tag from `stable` to `latest`. Example: `europe-west3-docker.pkg.dev/hoprassociation/docker-images/hoprd:latest`
🧰 Tools
🪛 LanguageTool

[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data: - <NODE_NAME_FOR_GRAFANA>: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)


159-170: Enhance stopping services documentation

While the current documentation explains the profile matching requirement, it could be more explicit about potential issues.

Consider expanding the explanation:

-Important: You must use exactly the same `COMPOSE_PROFILES` values for the `docker compose down` command as you used for `up`. Using different profiles may leave containers running or fail to clean up resources properly.
+Important: When stopping services:
+
+1. You MUST use identical `COMPOSE_PROFILES` values for both `up` and `down` commands
+2. Mismatched profiles can cause:
+   - Orphaned containers that continue running
+   - Incomplete resource cleanup
+   - Network or volume resources remaining allocated
+
+❗ Pro tip: Save your startup command in a script or note to ensure you use matching profiles when stopping.
🧰 Tools
🪛 LanguageTool

[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services Important: You must use exactly the same COMPOSE_PROFILES values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 9d923a9 and fab0c57.

📒 Files selected for processing (2)
  • deploy/compose/README.md (4 hunks)
  • new_identities/nodes_0.id_existing (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • new_identities/nodes_0.id_existing
🧰 Additional context used
🪛 LanguageTool
deploy/compose/README.md

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data: - <NODE_NAME_FOR_GRAFANA>: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network). - HOPRD_API_TOKEN: Replace <YOUR HOPRD API TOKEN> with y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes: - services.hoprd.ports: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes: - services.hoprd.ports: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)


[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields: - host.address: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - host.port: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - chain.network: Change dufour to rotsee. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - safe_module.safe_address: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - safe_module.module_address: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)


[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services Important: You must use exactly the same COMPOSE_PROFILES values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)

🪛 Markdownlint (0.35.0)
deploy/compose/README.md

59-59: null
Link fragments should be valid

(MD051, link-fragments)


77-77: null
Link fragments should be valid

(MD051, link-fragments)


78-78: null
Link fragments should be valid

(MD051, link-fragments)


82-82: null
Link fragments should be valid

(MD051, link-fragments)

🔇 Additional comments (1)
deploy/compose/README.md (1)

59-59: Fix invalid link fragments in markdown

The link fragments are still invalid and need to be updated.

Also applies to: 77-78, 82-82

🧰 Tools
🪛 LanguageTool

[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 Markdownlint (0.35.0)

59-59: null
Link fragments should be valid

(MD051, link-fragments)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (2)
deploy/compose/README.md (1)

10-23: Add prerequisites section before setup instructions

While the setup sections are well-organized, consider adding a "Prerequisites" section before the setup instructions to list all required tools, dependencies, and system requirements.

 ## Setup
+
+## Prerequisites
+
+Before proceeding with the setup, ensure you have:
+- Git installed
+- Docker and Docker Compose installed
+- Access to a terminal/command prompt
+- Sufficient disk space for Docker images
+- Required ports available (3001, 9091, etc.)

 ### Setup a node for production
🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)

hopli/README.md (1)

270-284: Improve code block formatting

Add language specifiers to code blocks and improve command formatting for better readability.

-```
+```shell
 hopli identity create --identity-directory "./new_identities" --identity-prefix nodes_ --number 1

- +shell
hopli safe-module create
--network ${HOPRD_NETWORK}
--contracts-root "./ethereum/contracts"
--provider-url https://gnosis.rpc-provider.prod.hoprnet.link
--identity-directory "./new_identities"
--allowance 10.5
--hopr-amount 1
--native-amount 0.1


-```
+```shell
hopli identity read --identity-directory "./new_identities" --identity-prefix nodes_

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 Markdownlint (0.35.0)</summary>

270-270: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

276-276: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

282-282: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used: .coderabbit.yaml**
**Review profile: CHILL**

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between c65603407b70cfa71d80d0ec4f8a7e708ca875eb and 7b6dcab99bdfc5f39b1dd2d3366eaa68564098bd.

</details>

<details>
<summary>📒 Files selected for processing (2)</summary>

* `deploy/compose/README.md` (3 hunks)
* `hopli/README.md` (1 hunks)

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🪛 LanguageTool</summary>

<details>
<summary>deploy/compose/README.md</summary>

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications.  ## Setup  ### Setup a node for production  The `docker comp...

(SENT_START_NN_DT)

---

[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose).  ### Setup a node for testing  This guide will wal...

(SENT_START_NN_DT)

---

[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed:  - `HOPRD_API_PORT`: Adjust REST API port, default is `3001`...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is `3001`. - `HOPRD_P2P_PORT`: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is `9091`. - `HOPRD_IMAGE`: Change the image tag from `stable` to `...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data:  - `<NODE_NAME_FOR_GRAFANA>`: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: `node-chaos`. - `<NODE_PEER_ID>`: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...for-rotsee-network).  - `<MY_NAMESPACE>`: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: `team`. - `<NODE_NATIVE_ADDRESS>`: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets:  - `HOPRD_PASSWORD`: Replace `<YOUR HOPRD IDENTITY PASSWORD>...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network).  - `HOPRD_API_TOKEN`: Replace `<YOUR HOPRD API TOKEN>` with y...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes:  - `services.hoprd.ports`: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)

---

[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes:  - `services.hoprd.ports`: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)

---

[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields:  - `host.address`: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - `host.port`: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - `chain.network`: Change `dufour` to `rotsee`. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...`dufour` to `rotsee`. - `chain.provider`: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - `safe_module.safe_address`: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - `safe_module.module_address`: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)

---

[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)

---

[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)

---

[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services  Important: You must use exactly the same `COMPOSE_PROFILES` values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)

</details>

</details>
<details>
<summary>🪛 Markdownlint (0.35.0)</summary>

<details>
<summary>deploy/compose/README.md</summary>

28-28: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

59-59: null
Link fragments should be valid

(MD051, link-fragments)

---

77-77: null
Link fragments should be valid

(MD051, link-fragments)

---

78-78: null
Link fragments should be valid

(MD051, link-fragments)

---

82-82: null
Link fragments should be valid

(MD051, link-fragments)

---

119-119: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

125-125: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

134-134: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

147-147: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

153-153: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

163-163: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

168-168: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>
<details>
<summary>hopli/README.md</summary>

257-257: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

270-270: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

276-276: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

282-282: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

</details>

<details>
<summary>🔇 Additional comments (3)</summary>

<details>
<summary>deploy/compose/README.md (2)</summary>

`157-170`: **LGTM! Clear instructions for stopping services**

The section effectively communicates the critical requirement of using matching profiles and provides a clear example.

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services  Important: You must use exactly the same `COMPOSE_PROFILES` values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)

</details>
<details>
<summary>🪛 Markdownlint (0.35.0)</summary>

163-163: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

168-168: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

---

`71-78`: _:warning: Potential issue_

**Fix invalid link fragments and enhance configuration guidance**

The section contains invalid link fragments and could benefit from more specific guidance on the expected values.

```diff
-- `chain.provider`: Enter the RPC endpoint URL. If using a local RPC endpoint, include the http:// prefix with the IP address or localhost.
+- `chain.provider`: Enter the RPC endpoint URL (e.g., `http://localhost:8545` or `https://rpc.example.com`). If using a local RPC endpoint, include the `http://` prefix with the IP address or localhost.
-- `safe_module.safe_address`: Enter the safe address created in a [1st step](#1-create-identity-and-make-it-eligible-for-rotsee-network).
-- `safe_module.module_address`: Enter the module address created in a [1st step](#1-create-identity-and-make-it-eligible-for-rotsee-network).
+- `safe_module.safe_address`: Enter the safe address (0x-prefixed hex string) created in the [first step](#1-create-an-identity-and-make-it-eligible-for-the-rotsee-network).
+- `safe_module.module_address`: Enter the module address (0x-prefixed hex string) created in the [first step](#1-create-an-identity-and-make-it-eligible-for-the-rotsee-network).

Likely invalid or redundant comment.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields: - host.address: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - host.port: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - chain.network: Change dufour to rotsee. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - safe_module.safe_address: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - safe_module.module_address: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 Markdownlint (0.35.0)

77-77: null
Link fragments should be valid

(MD051, link-fragments)


78-78: null
Link fragments should be valid

(MD051, link-fragments)

hopli/README.md (1)

257-264: ⚠️ Potential issue

Enhance security of environment variable examples

The example contains sensitive information placeholders that should be made more secure and explicit.

 export PATH="./target/release:${PATH}"
 export RUST_BACKTRACE=full
 export HOPRD_NETWORK=rotsee
-export IDENTITY_PASSWORD=<your-secure-password-here> # Replace with your own secure password
-export PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000000 # Replace with Deployer Private Key
-export MANAGER_PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000000 # Replace with Manager Private Key
+export IDENTITY_PASSWORD='<CHANGE_ME>' # Replace with a strong password (min. 12 chars, mixed case, numbers, symbols)
+export PRIVATE_KEY='<DEPLOYER_PRIVATE_KEY>' # Replace with your 0x-prefixed 64-character deployer private key
+export MANAGER_PRIVATE_KEY='<MANAGER_PRIVATE_KEY>' # Replace with your 0x-prefixed 64-character manager private key
+
+# WARNING: Never commit or share your private keys and passwords!

Likely invalid or redundant comment.

🧰 Tools
🪛 Markdownlint (0.35.0)

257-257: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (2)
deploy/compose/README.md (1)

28-30: Add language specifiers to code blocks

Code blocks should specify their language for proper syntax highlighting.

Add shell language specifier to code blocks:

-```
+```shell

Also applies to: 119-119, 125-125, 134-134, 147-147, 153-153, 163-165, 169-171

🧰 Tools
🪛 Markdownlint (0.35.0)

28-28: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

hopli/README.md (1)

257-264: Add language specifiers to code blocks

Code blocks should specify their language for proper syntax highlighting.

Add shell language specifier to code blocks:

-```
+```shell

Also applies to: 270-272, 276-278, 282-284

🧰 Tools
🪛 Markdownlint (0.35.0)

257-257: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 7b6dcab and 515ffc7.

📒 Files selected for processing (3)
  • deploy/compose/README.md (3 hunks)
  • deploy/compose/hoprd_data/hoprd.cfg.yaml (1 hunks)
  • hopli/README.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • deploy/compose/hoprd_data/hoprd.cfg.yaml
🧰 Additional context used
🪛 LanguageTool
deploy/compose/README.md

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data: - <NODE_NAME_FOR_GRAFANA>: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...-for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network). - HOPRD_API_TOKEN: Replace <YOUR HOPRD API TOKEN> with y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes: - services.hoprd.ports: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes: - services.hoprd.ports: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)


[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields: - host.address: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - host.port: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - chain.network: Change dufour to rotsee. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - safe_module.safe_address: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - safe_module.module_address: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)


[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services Important: You must use exactly the same COMPOSE_PROFILES values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)

🪛 Markdownlint (0.35.0)
deploy/compose/README.md

28-28: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


59-59: null
Link fragments should be valid

(MD051, link-fragments)


77-77: null
Link fragments should be valid

(MD051, link-fragments)


78-78: null
Link fragments should be valid

(MD051, link-fragments)


82-82: null
Link fragments should be valid

(MD051, link-fragments)


119-119: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


125-125: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


134-134: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


147-147: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


153-153: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


163-163: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


169-169: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

hopli/README.md

257-257: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


270-270: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


276-276: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


282-282: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (5)
deploy/compose/README.md (3)

10-13: LGTM!

The section provides a clear reference to the production setup documentation.

🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


157-171: LGTM!

The section clearly emphasizes the importance of using consistent profiles for starting and stopping services, with helpful examples.

🧰 Tools
🪛 LanguageTool

[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services Important: You must use exactly the same COMPOSE_PROFILES values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)

🪛 Markdownlint (0.35.0)

163-163: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


169-169: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


51-51: ⚠️ Potential issue

Redact sensitive information from metrics URL example

The metrics URL example contains potentially sensitive information that should be redacted.

Replace with a sanitized example:

-Example: `https://prometheus-pushgateway.staging.hoprnet.link/metrics/job/node-chaos/hoprd_peer_id/12D3KooWBX5ENqYkKTevwiQXpTFYZTWs3S11bQiueX7QQqapTsaR/namespace/team/hoprd_network/rotsee/hoprd_address/0xb6b099780bdf1c1041783178b88be8c9449e75ab`
+Example: `https://<pushgateway-url>/metrics/job/<node-name>/hoprd_peer_id/<peer-id>/namespace/<namespace>/hoprd_network/<network>/hoprd_address/<address>`

Likely invalid or redundant comment.

hopli/README.md (2)

277-277: 🛠️ Refactor suggestion

Avoid hardcoding provider URL

The provider URL should be configurable to support different environments.

Make the provider URL configurable:

-hopli safe-module create --network ${HOPRD_NETWORK} --contracts-root "./ethereum/contracts"  --provider-url https://gnosis.rpc-provider.prod.hoprnet.link --identity-directory "./new_identities" --allowance 10.5 --hopr-amount 1 --native-amount 0.1
+# Set the provider URL as an environment variable
+export PROVIDER_URL='<RPC_PROVIDER_URL>' # Replace with your RPC provider URL
+
+hopli safe-module create \
+  --network ${HOPRD_NETWORK} \
+  --contracts-root "./ethereum/contracts" \
+  --provider-url ${PROVIDER_URL} \
+  --identity-directory "./new_identities" \
+  --allowance 10.5 \
+  --hopr-amount 1 \
+  --native-amount 0.1

Likely invalid or redundant comment.


261-263: ⚠️ Potential issue

Use more secure placeholders for sensitive information

The private key placeholders should be more descriptive and clearly indicate they need to be replaced.

Update the placeholders:

-export IDENTITY_PASSWORD=<your-secure-password-here>
-export PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000000
-export MANAGER_PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000000
+export IDENTITY_PASSWORD='<REPLACE_WITH_SECURE_PASSWORD>'
+export PRIVATE_KEY='<REPLACE_WITH_DEPLOYER_PRIVATE_KEY>'
+export MANAGER_PRIVATE_KEY='<REPLACE_WITH_MANAGER_PRIVATE_KEY>'

Likely invalid or redundant comment.

Copy link
Contributor

@Teebor-Choka Teebor-Choka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rotsee network is not testing, it's staging environment.

@Jaguaras Jaguaras enabled auto-merge December 4, 2024 08:41
@jeandemeusy jeandemeusy changed the base branch from master to release/singapore January 17, 2025 08:07
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (3)
deploy/compose/README.md (3)

10-14: Fix grammar in section headings

Change "Setup" to "Setting up" in the headings for better readability and grammatical correctness.

-### Setup a node for production
+### Setting up a node for production
-### Setup a node for testing
+### Setting up a node for testing
🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


67-67: Remove redundant wording

The phrase "Add an additional" is redundant.

-- `services.hoprd.ports`: Add an additional UDP port under the ports variable to open a session.
+- `services.hoprd.ports`: Add a UDP port under the ports variable to open a session.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes: - services.hoprd.ports: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes: - services.hoprd.ports: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)


119-119: Add language specifiers to code blocks

Add shell language specifiers to the code blocks for better syntax highlighting.

-```
+```shell
COMPOSE_PROFILES=hoprd docker compose up -d

Also applies to: 125-125, 134-134, 147-147, 153-153, 163-163, 169-169

🧰 Tools
🪛 Markdownlint (0.37.0)

119-119: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 515ffc7 and a785869.

📒 Files selected for processing (1)
  • deploy/compose/README.md (3 hunks)
🧰 Additional context used
🪛 LanguageTool
deploy/compose/README.md

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data: - <NODE_NAME_FOR_GRAFANA>: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...-for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network). - HOPRD_API_TOKEN: Replace <YOUR HOPRD API TOKEN> with y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes: - services.hoprd.ports: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes: - services.hoprd.ports: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)


[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields: - host.address: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - host.port: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - chain.network: Change dufour to rotsee. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - safe_module.safe_address: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - safe_module.module_address: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)


[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services Important: You must use exactly the same COMPOSE_PROFILES values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)

🪛 Markdownlint (0.37.0)
deploy/compose/README.md

28-28: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


59-59: null
Link fragments should be valid

(MD051, link-fragments)


77-77: null
Link fragments should be valid

(MD051, link-fragments)


78-78: null
Link fragments should be valid

(MD051, link-fragments)


82-82: null
Link fragments should be valid

(MD051, link-fragments)


119-119: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


125-125: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


134-134: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


147-147: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


153-153: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


163-163: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


169-169: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: tests-smoke-websocket
  • GitHub Check: tests-unit
  • GitHub Check: tests-smart-contracts
  • GitHub Check: Linter
🔇 Additional comments (2)
deploy/compose/README.md (2)

51-51: Redact sensitive information from example URL

The metrics URL example contains potentially sensitive information that should be replaced with placeholders.


Line range hint 1-171: Well-structured and comprehensive documentation!

The documentation provides clear, step-by-step instructions for both production and testing setups. The examples section is particularly helpful in illustrating different deployment scenarios.

🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data: - <NODE_NAME_FOR_GRAFANA>: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...-for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network). - HOPRD_API_TOKEN: Replace <YOUR HOPRD API TOKEN> with y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes: - services.hoprd.ports: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes: - services.hoprd.ports: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)


[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields: - host.address: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - host.port: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - chain.network: Change dufour to rotsee. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - safe_module.safe_address: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - safe_module.module_address: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)


[uncategorized] ~96-~96: The adjective “profile-driven” is spelled with a hyphen.
Context: ...Profiles The docker compose setup is profile driven. Based on which profiles are activated,...

(DRIVEN_HYPHEN)

🪛 Markdownlint (0.37.0)

28-28: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


59-59: null
Link fragments should be valid

(MD051, link-fragments)


77-77: null
Link fragments should be valid

(MD051, link-fragments)


78-78: null
Link fragments should be valid

(MD051, link-fragments)


82-82: null
Link fragments should be valid

(MD051, link-fragments)

@NumberFour8 NumberFour8 disabled auto-merge January 21, 2025 21:04
ausias-armesto and others added 4 commits January 22, 2025 10:09
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
deploy/compose/README.md (1)

119-119: Add shell language identifier to code blocks

Add the shell language identifier to the code blocks for better syntax highlighting and documentation consistency.

Example:

-```
+```shell
COMPOSE_PROFILES=hoprd docker compose up -d

Also applies to: 125-125, 134-134, 147-147, 153-153, 163-165, 169-171

🧰 Tools
🪛 Markdownlint (0.37.0)

119-119: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a785869 and 4d6108c.

📒 Files selected for processing (3)
  • deploy/compose/README.md (3 hunks)
  • deploy/compose/hoprd_data/hoprd.cfg.yaml (1 hunks)
  • hopli/README.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • deploy/compose/hoprd_data/hoprd.cfg.yaml
🧰 Additional context used
🪛 LanguageTool
deploy/compose/README.md

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


[grammar] ~14-~14: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ...net.org/node/node-docker-compose). ### Setup a node for testing This guide will wal...

(SENT_START_NN_DT)


[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...variables as needed: - HOPRD_API_PORT: Adjust REST API port, default is 3001...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...t, default is 3001. - HOPRD_P2P_PORT: Adjust the p2p communication port, defa...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~40-~40: Loose punctuation mark.
Context: ...port, default is 9091. - HOPRD_IMAGE: Change the image tag from stable to `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...owing data: - <NODE_NAME_FOR_GRAFANA>: Your node's name for easy identificatio...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...xample: node-chaos. - <NODE_PEER_ID>: The PeerID, To get the PeerID from your...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...-for-rotsee-network). - <MY_NAMESPACE>: Adjust the namespace to better categori...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...stion: team. - <NODE_NATIVE_ADDRESS>: Native address, to get the native addre...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...e following secrets: - HOPRD_PASSWORD: Replace `...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~61-~61: Loose punctuation mark.
Context: ...or-rotsee-network). - HOPRD_API_TOKEN: Replace <YOUR HOPRD API TOKEN> with y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~67-~67: Loose punctuation mark.
Context: ...ssary changes: - services.hoprd.ports: Add an additional UDP port under the po...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~67-~67: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ary changes: - services.hoprd.ports: Add an additional UDP port under the ports variable to open a...

(ADD_AN_ADDITIONAL)


[uncategorized] ~73-~73: Loose punctuation mark.
Context: ... the following fields: - host.address: Set the public IP address of the machin...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~74-~74: Loose punctuation mark.
Context: ...where the node is running. - host.port: Use the P2P port which you configured i...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~75-~75: Loose punctuation mark.
Context: ...nvironment-variables). - chain.network: Change dufour to rotsee. - `chain.p...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~76-~76: Loose punctuation mark.
Context: ...dufour to rotsee. - chain.provider: Enter the RPC endpoint URL. If using a ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~77-~77: Loose punctuation mark.
Context: ... localhost. - safe_module.safe_address: Enter the safe address created in a [1s...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~78-~78: Loose punctuation mark.
Context: ...network). - safe_module.module_address: Enter the module address created in a [...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~86-~86: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ensure you are inside the compose folder so the profile functionality can be recogn...

(COMMA_COMPOUND_SENTENCE_2)


[formatting] ~86-~86: Consider inserting a comma after an introductory phrase for better readability.
Context: ...rofile functionality can be recognized. In this case we will start Docker compose using the ...

(IN_THAT_CASE_COMMA)


[style] ~159-~159: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...pping services Important: You must use exactly the same COMPOSE_PROFILES values for the `dock...

(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)

🪛 Markdownlint (0.37.0)
deploy/compose/README.md

28-28: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


59-59: null
Link fragments should be valid

(MD051, link-fragments)


77-77: null
Link fragments should be valid

(MD051, link-fragments)


78-78: null
Link fragments should be valid

(MD051, link-fragments)


82-82: null
Link fragments should be valid

(MD051, link-fragments)


119-119: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


125-125: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


134-134: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


147-147: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


153-153: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


163-163: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


169-169: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

hopli/README.md

257-257: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


270-270: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


276-276: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


282-282: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms (8)
  • GitHub Check: hoprd / docker
  • GitHub Check: hopli / docker
  • GitHub Check: tests-unit-nightly
  • GitHub Check: Docs / Rust docs
  • GitHub Check: tests-unit
  • GitHub Check: tests-smoke-websocket
  • GitHub Check: Linter
  • GitHub Check: tests-smart-contracts
🔇 Additional comments (5)
deploy/compose/README.md (2)

10-13: LGTM!

The production setup section provides clear direction by linking to the appropriate documentation.

🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ... network communications. ## Setup ### Setup a node for production The `docker comp...

(SENT_START_NN_DT)


51-51: 🛠️ Refactor suggestion

Replace sensitive information in example URL

The metrics URL example contains what appears to be a real PeerID and native address. This should be replaced with placeholder values to avoid potential security risks.

Replace with:

-Example: `https://prometheus-pushgateway.staging.hoprnet.link/metrics/job/node-chaos/hoprd_peer_id/12D3KooWBX5ENqYkKTevwiQXpTFYZTWs3S11bQiueX7QQqapTsaR/namespace/team/hoprd_network/rotsee/hoprd_address/0xb6b099780bdf1c1041783178b88be8c9449e75ab`
+Example: `https://prometheus-pushgateway.staging.hoprnet.link/metrics/job/node-chaos/hoprd_peer_id/<peer-id>/namespace/team/hoprd_network/rotsee/hoprd_address/<node-address>`

Likely invalid or redundant comment.

hopli/README.md (3)

270-272: Add shell language identifier to code blocks

Add the shell language identifier to the code blocks for better syntax highlighting and documentation consistency.

Example:

-```
+```shell
hopli identity create --identity-directory "./new_identities" --identity-prefix nodes_ --number 1

Also applies to: 276-278, 282-284

🧰 Tools
🪛 Markdownlint (0.37.0)

270-270: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


277-277: Avoid hardcoding provider URL

The provider URL should be configurable to support different environments.

-hopli safe-module create --network ${HOPRD_NETWORK} --contracts-root "./ethereum/contracts"  --provider-url https://gnosis.rpc-provider.prod.hoprnet.link --identity-directory "./new_identities" --allowance 10.5 --hopr-amount 1 --native-amount 0.1
+# Set the provider URL as an environment variable
+export PROVIDER_URL='<RPC_PROVIDER_URL>' # Replace with your RPC provider URL
+
+hopli safe-module create \
+  --network ${HOPRD_NETWORK} \
+  --contracts-root "./ethereum/contracts" \
+  --provider-url ${PROVIDER_URL} \
+  --identity-directory "./new_identities" \
+  --allowance 10.5 \
+  --hopr-amount 1 \
+  --native-amount 0.1

252-254: Add prerequisite information

The setup instructions should include system requirements and dependencies.

Add a prerequisites section before step 1:

### Prerequisites

Before starting, ensure you have:
- Git installed
- Rust and Cargo installed
- direnv installed
- Minimum system requirements:
  - RAM: 4GB minimum
  - Storage: 20GB minimum
  - CPU: 2 cores minimum

@Teebor-Choka Teebor-Choka merged commit 18f5921 into release/singapore Jan 22, 2025
22 of 23 checks passed
@Teebor-Choka Teebor-Choka deleted the Guidelines branch January 22, 2025 09:41
tolbrino pushed a commit that referenced this pull request Apr 4, 2025
Co-authored-by: ausias-armesto <ausiasarmesto@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Jean Demeusy <61140535+jeandemeusy@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants