Repository navigation
Conversation
…mple docker-compose.yml loads healthcheck env_file as common -> envs/<network> -> .env, and later files win, so the live HEALTHCHECK__REFERENCE_RPC_PROVIDER in .env.example overrides envs/ink-mainnet/healthcheck.env. Following the README (cp .env.example .env) on mainnet therefore points the healthcheck sidecar at the Sepolia RPC. Comment the line out so the per-network file supplies the right value, and update the README bullet that told mainnet operators to edit it by hand.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
.env.exampleshipsHEALTHCHECK__REFERENCE_RPC_PROVIDER=https://rpc-gel-sepolia.inkonchain.comuncommented, and the README tells operators tocp .env.example .env. This comments it out and updates the README text that told mainnet operators to edit it by hand.Why
docker-compose.ymlloads the healthcheck sidecar env files in this order:Per the Compose reference, later files win.
envs/ink-mainnet/healthcheck.envalready setsHEALTHCHECK__REFERENCE_RPC_PROVIDER=https://rpc-gel.inkonchain.com, but the copied.envis loaded after it and overrides it with the Sepolia RPC.Net effect: a
NETWORK_NAME=ink-mainnetoperator who follows the README gets a healthcheck sidecar comparing their local mainnet geth against Sepolia — the replica-healthcheck never agrees with the reference chain, so the node looks permanently unhealthy for a reason that has nothing to do with sync state. The variable is read by nothing in this repo's shell scripts, only by the sidecar image, so the misconfiguration is silent.The old comment even documented the trap ("this value overrides them" / "for ink-mainnet, switch this to ..."), which is exactly the footgun: correctness depended on the operator remembering to edit a value they were never told to look at.
How
.env.example: comment out the line and explain why it stays commented, with the override path preserved.README.md: drop the variable from the recommended Sepolia snippet (it is now redundant) and replace the "for ink-mainnet, switch ..." bullet with the actual precedence rule.Verification
envs/ink-mainnet/healthcheck.envandenvs/ink-sepolia/healthcheck.envalready carry the correct per-network values — no change needed there.docker-compose.ymluntouched; parsed withyaml.safe_loadto confirm theenv_fileorder above.grep -n '^HEALTHCHECK__REFERENCE_RPC_PROVIDER' .env.examplereturns nothing (comment-only), so a copy-paste of the template cannot re-introduce the override.Conflict note
#90 touches the same
.env.exampleblock (adds variables immediately below this line) and rewritesREADME.md; this branch will conflict textually with it. The two changes are independent and trivially resolvable — whichever lands second just needs to keep the commented-out healthcheck line.