-
Notifications
You must be signed in to change notification settings - Fork 3
Docs update: monitoring setup instructions have been updated #342
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@lembera is attempting to deploy a commit to the YeagerAI Team on Vercel. A member of the Team first needs to authorize it. |
📝 WalkthroughWalkthroughThe PR consolidates validator documentation by removing separate pages for monitoring, system requirements, and GenVM configuration while integrating their content into the main setup guide. The upgrade guide is enhanced with breaking change information for v0.3.x → v0.4. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Deploy Preview for genlayer-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
pages/validators/setup-guide.mdx (1)
676-678:⚠️ Potential issue | 🟡 MinorVersion inconsistency in .env example.
The
.envexample showsNODE_VERSION=v0.4.0, but the download section earlier in the guide usesv0.4.3. Consider updating to match the latest version for consistency.✏️ Suggested fix
# Docker image version -NODE_VERSION=v0.4.0 +NODE_VERSION=v0.4.3
🤖 Fix all issues with AI agents
In `@pages/validators/setup-guide.mdx`:
- Around line 140-144: Remove the extra colon in the "Network" section heading
line that currently reads "**Recommended:**: 1 Gbps+" — update the text to
"**Recommended:** 1 Gbps+" (i.e., eliminate the duplicated colon) so the
emphasis markup and punctuation are correct in the "Network" block.
- Around line 430-434: Update the phrasing in the list under the Related scripts
section: change "user defined script" to the hyphenated form "user-defined
script" (refer to the item text "`./scripts/genvm-greyboxing.lua` – user defined
script") so it reads "`./scripts/genvm-greyboxing.lua` – user-defined script".
- Around line 405-407: Minor grammar issue: replace the phrase "non used LLM
providers" with "unused LLM providers" in the setup guide text (look for the
sentence containing "Disabling non used LLM providers will hide those warnings")
so the sentence reads "Disabling unused LLM providers will hide those warnings";
keep the rest of the sentence intact.
- Around line 1053-1056: The River config snippet for the prometheus.scrape
"alloy" block contains an extra closing brace `}}` after the scrape_interval
assignment which causes a syntax error; open the prometheus.scrape "alloy" block
(look for the prometheus.scrape "alloy" block and the scrape_interval =
coalesce(...) line) and remove the duplicate brace so the block ends with a
single `}` instead of `}}`.
- Around line 1086-1096: Convert the plain "Troubleshooting" text into a proper
heading and replace the malformed lines after the curl code block with a
properly formatted markdown list: make the "It should return
Prometheus-formatted data." sentence part of the explanation for the curl
snippet, and turn the three items into bullet points with bold labels (e.g.,
"**Authentication errors (401/403):** Double-check `MONITORING_USERNAME` and
`MONITORING_PASSWORD` in `.env`", "**No data pushed:** Ensure URLs in `.env`
have no trailing slash.", "**Need help?** Share Alloy logs:"), and add a code
block example `docker logs genlayer-node-alloy` after the last bullet; update
the relevant section around the curl snippet and the heading "Troubleshooting"
in setup-guide.mdx accordingly.
- Around line 1069-1079: Remove the accidental duplicate shell command "docker
logs genlayer-node-alloy | grep \"sent batch\"" so only a single occurrence
remains and retain the subsequent "docker logs genlayer-node-alloy | grep
\"remote_write\"" line; locate the duplicated block in the setup-guide content
(search for the exact command string) and delete the redundant snippet to leave
one "sent batch" grep followed by the "remote_write" grep.
In `@pages/validators/upgrade.mdx`:
- Around line 74-77: Fix the duplicated word in the sentence "Being selected as
an activator, a leader or activator" by replacing the second "activator" with
"validator" so the line reads "Being selected as an activator, a leader or
validator"; locate the phrase in pages/validators/upgrade.mdx (the line
containing "Being selected as an activator, a leader or activator") and update
the text accordingly.
| #### Network | ||
|
|
||
| - 100 Mbps connection | ||
| - **Recommended:**: 1 Gbps+ | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor typo: double colon.
Line 143 has **Recommended:**: 1 Gbps+ with an extra colon.
✏️ Suggested fix
#### Network
- 100 Mbps connection
-- **Recommended:**: 1 Gbps+
+- **Recommended:** 1 Gbps+📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| #### Network | |
| - 100 Mbps connection | |
| - **Recommended:**: 1 Gbps+ | |
| #### Network | |
| - 100 Mbps connection | |
| - **Recommended:** 1 Gbps+ | |
🤖 Prompt for AI Agents
In `@pages/validators/setup-guide.mdx` around lines 140 - 144, Remove the extra
colon in the "Network" section heading line that currently reads
"**Recommended:**: 1 Gbps+" — update the text to "**Recommended:** 1 Gbps+"
(i.e., eliminate the duplicated colon) so the emphasis markup and punctuation
are correct in the "Network" block.
| However, from here you can: | ||
| - turn on and off various LLMs by setting the `enabled` field to `false`: By default they all come enabled for you to use. You will get warnings in the logs for each one that's enabled and not configured. Disabling non used LLM providers will hide those warnings | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor grammar fix: "non used" → "unused".
✏️ Suggested fix
-- turn on and off various LLMs by setting the `enabled` field to `false`: By default they all come enabled for you to use. You will get warnings in the logs for each one that's enabled and not configured. Disabling non used LLM providers will hide those warnings
+- turn on and off various LLMs by setting the `enabled` field to `false`: By default they all come enabled for you to use. You will get warnings in the logs for each one that's enabled and not configured. Disabling unused LLM providers will hide those warnings📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| However, from here you can: | |
| - turn on and off various LLMs by setting the `enabled` field to `false`: By default they all come enabled for you to use. You will get warnings in the logs for each one that's enabled and not configured. Disabling non used LLM providers will hide those warnings | |
| However, from here you can: | |
| - turn on and off various LLMs by setting the `enabled` field to `false`: By default they all come enabled for you to use. You will get warnings in the logs for each one that's enabled and not configured. Disabling unused LLM providers will hide those warnings |
🧰 Tools
🪛 LanguageTool
[grammar] ~406-~406: Use a hyphen to join words.
Context: ...nabled and not configured. Disabling non used LLM providers will hide those warni...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
In `@pages/validators/setup-guide.mdx` around lines 405 - 407, Minor grammar
issue: replace the phrase "non used LLM providers" with "unused LLM providers"
in the setup guide text (look for the sentence containing "Disabling non used
LLM providers will hide those warnings") so the sentence reads "Disabling unused
LLM providers will hide those warnings"; keep the rest of the sentence intact.
| Related scripts are located at: | ||
|
|
||
| 1. `./scripts/genvm-greyboxing.lua` – user defined script | ||
| 2. `./share/lib/genvm/greyboxing/lib-greyboxing.lua` – more low-level library | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor grammar fix: "user defined" should be hyphenated.
✏️ Suggested fix
Related scripts are located at:
-1. `./scripts/genvm-greyboxing.lua` – user defined script
+1. `./scripts/genvm-greyboxing.lua` – user-defined script
2. `./share/lib/genvm/greyboxing/lib-greyboxing.lua` – more low-level library🧰 Tools
🪛 LanguageTool
[grammar] ~432-~432: Use a hyphen to join words.
Context: ... ./scripts/genvm-greyboxing.lua – user defined script 2. `./share/lib/genvm/gre...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
In `@pages/validators/setup-guide.mdx` around lines 430 - 434, Update the phrasing
in the list under the Related scripts section: change "user defined script" to
the hyphenated form "user-defined script" (refer to the item text
"`./scripts/genvm-greyboxing.lua` – user defined script") so it reads
"`./scripts/genvm-greyboxing.lua` – user-defined script".
| // Configurable scrape interval for Alloy's internal health monitoring | ||
| scrape_interval = coalesce(sys.env("ALLOY_SELF_MONITORING_INTERVAL"), "60s") | ||
| }} | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Syntax error: extra closing brace in River config.
Line 1055 has }} (double closing brace) which will cause a syntax error in the Alloy configuration. Only one } is needed to close the prometheus.scrape "alloy" block.
🐛 Proposed fix
// Configurable scrape interval for Alloy's internal health monitoring
scrape_interval = coalesce(sys.env("ALLOY_SELF_MONITORING_INTERVAL"), "60s")
-}}
+}🤖 Prompt for AI Agents
In `@pages/validators/setup-guide.mdx` around lines 1053 - 1056, The River config
snippet for the prometheus.scrape "alloy" block contains an extra closing brace
`}}` after the scrape_interval assignment which causes a syntax error; open the
prometheus.scrape "alloy" block (look for the prometheus.scrape "alloy" block
and the scrape_interval = coalesce(...) line) and remove the duplicate brace so
the block ends with a single `}` instead of `}}`.
| ```bash | ||
| docker logs genlayer-node-alloy | grep "sent batch" | ||
| ``` | ||
|
|
||
| ```bash | ||
| docker logs genlayer-node-alloy | grep "sent batch" | ||
| ``` | ||
|
|
||
| ```bash | ||
| docker logs genlayer-node-alloy | grep "remote_write" | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate shell commands.
The same docker logs genlayer-node-alloy | grep "sent batch" command appears twice (lines 1070-1071 and 1073-1075), followed by a grep "remote_write" variant. This appears to be accidental duplication.
✏️ Suggested fix
- Check logs for successful sends:
```bash
docker logs genlayer-node-alloy | grep "sent batch"-bash -docker logs genlayer-node-alloy | grep "sent batch" -
docker logs genlayer-node-alloy | grep "remote_write"</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
In @pages/validators/setup-guide.mdx around lines 1069 - 1079, Remove the
accidental duplicate shell command "docker logs genlayer-node-alloy | grep
"sent batch"" so only a single occurrence remains and retain the subsequent
"docker logs genlayer-node-alloy | grep "remote_write"" line; locate the
duplicated block in the setup-guide content (search for the exact command
string) and delete the redundant snippet to leave one "sent batch" grep followed
by the "remote_write" grep.
</details>
<!-- fingerprinting:phantom:medusa:ocelot -->
<!-- This is an auto-generated comment by CodeRabbit -->
| Troubleshooting | ||
| - No local metrics: | ||
|
|
||
| ```bash | ||
| curl http://localhost:9153/metrics | ||
| ``` | ||
|
|
||
| — it should return Prometheus-formatted data. | ||
| Authentication errors (401/403): Double-check MONITORING_USERNAME and MONITORING_PASSWORD in .env. | ||
| No data pushed: Ensure URLs in .env have no trailing slash. | ||
| Help: Share Alloy logs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting issues in Troubleshooting section.
The "Troubleshooting" text on line 1086 should be a heading, and lines 1094-1096 are missing proper list formatting.
✏️ Suggested fix
-Troubleshooting
-- No local metrics:
+#### Troubleshooting
+
+- **No local metrics:**
```bash
curl http://localhost:9153/metrics-— it should return Prometheus-formatted data.
-Authentication errors (401/403): Double-check MONITORING_USERNAME and MONITORING_PASSWORD in .env.
-No data pushed: Ensure URLs in .env have no trailing slash.
-Help: Share Alloy logs
- It should return Prometheus-formatted data.
+- Authentication errors (401/403): Double-checkMONITORING_USERNAMEandMONITORING_PASSWORDin.env.
+- No data pushed: Ensure URLs in.envhave no trailing slash.
+- Need help? Share Alloy logs:
docker logs genlayer-node-alloy</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
In @pages/validators/setup-guide.mdx around lines 1086 - 1096, Convert the plain
"Troubleshooting" text into a proper heading and replace the malformed lines
after the curl code block with a properly formatted markdown list: make the "It
should return Prometheus-formatted data." sentence part of the explanation for
the curl snippet, and turn the three items into bullet points with bold labels
(e.g., "Authentication errors (401/403): Double-check MONITORING_USERNAME
and MONITORING_PASSWORD in .env", "No data pushed: Ensure URLs in .env
have no trailing slash.", "Need help? Share Alloy logs:"), and add a code
block example docker logs genlayer-node-alloy after the last bullet; update
the relevant section around the curl snippet and the heading "Troubleshooting"
in setup-guide.mdx accordingly.
</details>
<!-- fingerprinting:phantom:medusa:ocelot -->
<!-- This is an auto-generated comment by CodeRabbit -->
| Failure to update the consensus contract addresses will prevent your validator from: | ||
| - Participating in consensus rounds | ||
| - Being selected as an activator, a leader or activator | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: "activator" is repeated.
Line 76 has "Being selected as an activator, a leader or activator" — "activator" appears twice. This should likely be "a leader or validator".
✏️ Suggested fix
Failure to update the consensus contract addresses will prevent your validator from:
- Participating in consensus rounds
- - Being selected as an activator, a leader or activator
+ - Being selected as an activator, a leader, or validator📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Failure to update the consensus contract addresses will prevent your validator from: | |
| - Participating in consensus rounds | |
| - Being selected as an activator, a leader or activator | |
| Failure to update the consensus contract addresses will prevent your validator from: | |
| - Participating in consensus rounds | |
| - Being selected as an activator, a leader, or validator | |
🤖 Prompt for AI Agents
In `@pages/validators/upgrade.mdx` around lines 74 - 77, Fix the duplicated word
in the sentence "Being selected as an activator, a leader or activator" by
replacing the second "activator" with "validator" so the line reads "Being
selected as an activator, a leader or validator"; locate the phrase in
pages/validators/upgrade.mdx (the line containing "Being selected as an
activator, a leader or activator") and update the text accordingly.
There was a problem hiding this 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
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
pages/validators/setup-guide.mdx (2)
370-378:⚠️ Potential issue | 🟡 MinorRPC port example exports the wrong variable.
The example says “Override the RPC port” but sets a consensus contract address instead.
🛠️ Proposed fix
-# Override the RPC port -export GENLAYERNODE_CONSENSUS_CONTRACTMAINADDRESS="0x..." +# Override the RPC port +export GENLAYERNODE_NODE_RPC_PORT="9151"
665-710:⚠️ Potential issue | 🟡 MinorInconsistent NODE_VERSION within the same guide.
The download section uses
v0.4.3, but the.envexample and Docker doctor command usev0.4.0. Align these to avoid confusion.🛠️ Proposed fix (align with v0.4.3)
-NODE_VERSION=v0.4.0 +NODE_VERSION=v0.4.3 ... - yeagerai/genlayer-node:${NODE_VERSION:-v0.4.0} \ + yeagerai/genlayer-node:${NODE_VERSION:-v0.4.3} \Based on learnings: Update version references in download examples and version lists in setup-guide.mdx when new validator releases occur.
🤖 Fix all issues with AI agents
In `@pages/validators/setup-guide.mdx`:
- Around line 199-207: The backticks in the shell examples cause command
substitution and should be replaced with literal paths; update the lines
referencing genlayer-node-linux-amd64-${version}.tar.gz and ./${version} so they
use plain text paths (no backticks) when running tar -xzvf and cd, e.g. use
genlayer-node-linux-amd64-${version}.tar.gz and ./${version} directly in the tar
-xzvf and cd commands to prevent unintended execution.
- Around line 807-864: The env var names are inconsistent: the prerequisites and
example .env use MONITORING_USERNAME/PASSWORD while the alloy service expects
CENTRAL_MONITORING_USERNAME/CENTRAL_MONITORING_PASSWORD (and
CENTRAL_LOKI_USERNAME/CENTRAL_LOKI_PASSWORD); update the references so they
match — either rename the .env/prereqs to use CENTRAL_MONITORING_URL,
CENTRAL_LOKI_URL, CENTRAL_MONITORING_USERNAME, CENTRAL_MONITORING_PASSWORD,
CENTRAL_LOKI_USERNAME and CENTRAL_LOKI_PASSWORD, or change the alloy environment
keys to MONITORING_USERNAME/MONITORING_PASSWORD and
MONITORING_LOKI_USERNAME/PASSWORD — ensure MONITORING_USERNAME,
MONITORING_PASSWORD, CENTRAL_MONITORING_USERNAME, CENTRAL_MONITORING_PASSWORD,
CENTRAL_LOKI_USERNAME and CENTRAL_LOKI_PASSWORD are used consistently across the
prerequisites, .env example, and the alloy service block.
- Around line 548-552: The doc uses a different config key than the code:
confirm whether genvm.start_manager or genvm.manage_modules is the actual config
key (search the codebase for those symbols) and update the setup-guide text so
the automatic-start instruction and the example config/snippet use the correct
key consistently; specifically replace the mismatched occurrence in the "To
start them automatically" line so it references the verified key
(genvm.start_manager or genvm.manage_modules) and ensure any surrounding
explanation matches that behavior.
| ```sh | ||
| mkdir -p ${version} | ||
| tar -xzvf `genlayer-node-linux-amd64-${version}.tar.gz` -C `./${version}` | ||
| ``` | ||
| 4. Change the directory | ||
|
|
||
| ```sh copy | ||
| ```sh | ||
| cd `./${version}` | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Backticks break the tar/cd commands.
Backticks trigger command substitution, so these commands will try to execute the filenames instead of using them as paths. Use literal paths instead.
🛠️ Proposed fix
- tar -xzvf `genlayer-node-linux-amd64-${version}.tar.gz` -C `./${version}`
+ tar -xzvf genlayer-node-linux-amd64-${version}.tar.gz -C ./${version}
...
- cd `./${version}`
+ cd ./${version}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ```sh | |
| mkdir -p ${version} | |
| tar -xzvf `genlayer-node-linux-amd64-${version}.tar.gz` -C `./${version}` | |
| ``` | |
| 4. Change the directory | |
| ```sh copy | |
| ```sh | |
| cd `./${version}` | |
| ``` |
🤖 Prompt for AI Agents
In `@pages/validators/setup-guide.mdx` around lines 199 - 207, The backticks in
the shell examples cause command substitution and should be replaced with
literal paths; update the lines referencing
genlayer-node-linux-amd64-${version}.tar.gz and ./${version} so they use plain
text paths (no backticks) when running tar -xzvf and cd, e.g. use
genlayer-node-linux-amd64-${version}.tar.gz and ./${version} directly in the tar
-xzvf and cd commands to prevent unintended execution.
| 3. (Optional) Run two services (modules) in background (this is a crucial step for running _Intelligent_ contracts). This can be done automatically or manually. | ||
| - To start them automatically in node configuration set `genvm.manage_modules` to `true` | ||
| - To start them manually run | ||
| ```bash copy | ||
| ```bash | ||
| ./third_party/genvm/bin/genvm-modules web & ./third_party/genvm/bin/genvm-modules llm & |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Config key mismatch for automatic GenVM modules.
The config snippet above uses genvm.start_manager, but the instructions reference genvm.manage_modules. Please confirm the actual key and align the text accordingly to prevent misconfiguration.
🛠️ Proposed fix (if `start_manager` is the correct key)
- - To start them automatically in node configuration set `genvm.manage_modules` to `true`
+ - To start them automatically in node configuration set `genvm.start_manager` to `true`#!/bin/bash
# Verify which config key is supported in the codebase/docs
rg -n "manage_modules|start_manager" -S🤖 Prompt for AI Agents
In `@pages/validators/setup-guide.mdx` around lines 548 - 552, The doc uses a
different config key than the code: confirm whether genvm.start_manager or
genvm.manage_modules is the actual config key (search the codebase for those
symbols) and update the setup-guide text so the automatic-start instruction and
the example config/snippet use the correct key consistently; specifically
replace the mismatched occurrence in the "To start them automatically" line so
it references the verified key (genvm.start_manager or genvm.manage_modules) and
ensure any surrounding explanation matches that behavior.
| **Prerequisites** | ||
| - Metrics enabled in `config.yaml` (`endpoints.metrics: true` — default in recent versions). | ||
| - Ops port 9153 exposed in docker-compose (`ports: - "9153:9153"`). | ||
| - Credentials from the Foundation team (ask in #testnet-asimov): | ||
| - `CENTRAL_MONITORING_URL` — Prometheus remote write base URL (e.g., `https://prometheus-prod-XX.grafana.net`) | ||
| - `CENTRAL_LOKI_URL` — Loki push base URL (e.g., `https://logs-prod-XX.grafana.net`) | ||
| - `MONITORING_USERNAME` — Instance ID (a number) | ||
| - `MONITORING_PASSWORD` — Grafana Cloud API Key (with write permissions for metrics and logs) | ||
|
|
||
| **Steps** | ||
|
|
||
| 1. **Create or update .env** (next to your docker-compose.yaml): | ||
|
|
||
| ```env | ||
| # Grafana Cloud credentials (request from Foundation team in Discord) | ||
| CENTRAL_MONITORING_URL=https://prometheus-prod-...grafana.net | ||
| CENTRAL_LOKI_URL=https://logs-prod-...grafana.net | ||
| MONITORING_USERNAME=1234567890 # your instance ID | ||
| MONITORING_PASSWORD=glc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx # API key | ||
|
|
||
| # Your node labels (customize for easy filtering in dashboards) | ||
| NODE_ID=0xYourValidatorAddressOrCustomID | ||
| VALIDATOR_NAME=validatorname | ||
|
|
||
| # Usually defaults are fine | ||
| NODE_METRICS_ENDPOINT=localhost:9153 | ||
| LOG_FILE_PATTERN=/var/log/genlayer/node*.log | ||
| METRICS_SCRAPE_INTERVAL=15s | ||
| ``` | ||
|
|
||
| 2. **Add or verify the Alloy service in docker-compose.yaml (copy if missing): | ||
|
|
||
| ```yaml | ||
| alloy: | ||
| image: grafana/alloy:v1.12.0 | ||
| container_name: genlayer-node-alloy | ||
| command: | ||
| - run | ||
| - /etc/alloy/config.river | ||
| - --server.http.listen-addr=0.0.0.0:12345 | ||
| - --storage.path=/var/lib/alloy/data | ||
| volumes: | ||
| - ./alloy-config.river:/etc/alloy/config.river:ro | ||
| - ${NODE_LOGS_PATH:-./data/node/logs}:/var/log/genlayer:ro | ||
| - alloy_data:/var/lib/alloy | ||
| environment: | ||
| # Central monitoring endpoints | ||
| - CENTRAL_LOKI_URL=${CENTRAL_LOKI_URL:-https://logs-prod-042.grafana.net/loki/api/v1/push} | ||
| - CENTRAL_MONITORING_URL=${CENTRAL_MONITORING_URL:-https://prometheus-prod-66-prod-us-east-3.grafana.net/api/prom/push} | ||
|
|
||
| # Metrics (Prometheus) authentication | ||
| - CENTRAL_MONITORING_USERNAME=${CENTRAL_MONITORING_USERNAME:-telemetric} | ||
| - CENTRAL_MONITORING_PASSWORD=${CENTRAL_MONITORING_PASSWORD:-12345678} | ||
|
|
||
| # Logs (Loki) authentication | ||
| - CENTRAL_LOKI_USERNAME=${CENTRAL_LOKI_USERNAME:-telemetric} | ||
| - CENTRAL_LOKI_PASSWORD=${CENTRAL_LOKI_PASSWORD:-12345678} | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Monitoring credential variable names don’t line up.
Prereqs mention MONITORING_USERNAME/PASSWORD, but the alloy service consumes CENTRAL_*_USERNAME/PASSWORD. This mismatch will cause auth values to be unset. Please standardize the variable names across prerequisites, .env, and docker-compose.
🛠️ Proposed fix (standardize to CENTRAL_* names)
- - `MONITORING_USERNAME` — Instance ID (a number)
- - `MONITORING_PASSWORD` — Grafana Cloud API Key (with write permissions for metrics and logs)
+ - `CENTRAL_MONITORING_USERNAME` — Instance ID (a number)
+ - `CENTRAL_MONITORING_PASSWORD` — Grafana Cloud API Key (with write permissions for metrics and logs)
+ - `CENTRAL_LOKI_USERNAME` — Instance ID (a number)
+ - `CENTRAL_LOKI_PASSWORD` — Grafana Cloud API Key (with write permissions for logs)
...
-MONITORING_USERNAME=1234567890 # your instance ID
-MONITORING_PASSWORD=glc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx # API key
+CENTRAL_MONITORING_USERNAME=1234567890 # your instance ID
+CENTRAL_MONITORING_PASSWORD=glc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx # API key
+CENTRAL_LOKI_USERNAME=1234567890
+CENTRAL_LOKI_PASSWORD=glc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx🤖 Prompt for AI Agents
In `@pages/validators/setup-guide.mdx` around lines 807 - 864, The env var names
are inconsistent: the prerequisites and example .env use
MONITORING_USERNAME/PASSWORD while the alloy service expects
CENTRAL_MONITORING_USERNAME/CENTRAL_MONITORING_PASSWORD (and
CENTRAL_LOKI_USERNAME/CENTRAL_LOKI_PASSWORD); update the references so they
match — either rename the .env/prereqs to use CENTRAL_MONITORING_URL,
CENTRAL_LOKI_URL, CENTRAL_MONITORING_USERNAME, CENTRAL_MONITORING_PASSWORD,
CENTRAL_LOKI_USERNAME and CENTRAL_LOKI_PASSWORD, or change the alloy environment
keys to MONITORING_USERNAME/MONITORING_PASSWORD and
MONITORING_LOKI_USERNAME/PASSWORD — ensure MONITORING_USERNAME,
MONITORING_PASSWORD, CENTRAL_MONITORING_USERNAME, CENTRAL_MONITORING_PASSWORD,
CENTRAL_LOKI_USERNAME and CENTRAL_LOKI_PASSWORD are used consistently across the
prerequisites, .env example, and the alloy service block.
There was a problem hiding this 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
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
pages/validators/setup-guide.mdx (2)
363-371:⚠️ Potential issue | 🟡 MinorExample doesn’t match the stated goal (RPC port).
The comment says “Override the RPC port” but exports a consensus contract address. Update the variable or the comment.
🛠️ Proposed fix
-# Override the RPC port -export GENLAYERNODE_CONSENSUS_CONTRACTMAINADDRESS="0x..." +# Override the RPC port +export GENLAYERNODE_NODE_RPC_PORT="9151"
671-705:⚠️ Potential issue | 🟠 MajorDocker examples pin v0.4.0 while the guide targets v0.4.5.
This creates a version mismatch between the download instructions and Docker flow. Update the defaults to keep the guide consistent.
🛠️ Proposed fix
-NODE_VERSION=v0.4.0 +NODE_VERSION=v0.4.5 ... - yeagerai/genlayer-node:${NODE_VERSION:-v0.4.0} \ + yeagerai/genlayer-node:${NODE_VERSION:-v0.4.5} \Based on learnings: Update version references in download examples and version lists in setup-guide.mdx when new validator releases occur.
Description
Summary by CodeRabbit
Release Notes
New Features
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.