fix(selfhost): fail fast when a configured _FILE secret is unreadable - #6337
Conversation
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-16 02:50:51 UTC
Review summary Nits — 4 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Closes JSONbored#6284 Co-authored-by: Cursor <cursoragent@cursor.com>
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6337 +/- ##
=======================================
Coverage 95.60% 95.60%
=======================================
Files 596 596
Lines 47135 47138 +3
Branches 15006 15007 +1
=======================================
+ Hits 45063 45066 +3
Misses 1290 1290
Partials 782 782
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Summary
loadFileSecrets()loggedselfhost_secret_file_unreadablewhen a configured<NAME>_FILEpath was missing/unreadable, then continued with the target env var unset — so a broken Docker secret mount could boot ORB without the credential.loadMinerFileSecretsfail-fast behavior: keep the structured error log, then throw so container startup exits non-zero. Genuinely omitted secrets (no_FILEset) and explicit plain-env overrides are unchanged.Closes #6284
Test plan
_FILEthrows + logs; omitted_FILEstill starts; COMPOSE reserved vars unchangedRisk / tradeoffs