Operational: No startup dependency check — fails silently if hero_proc is unreachable #102

Open
opened 2026-05-11 13:49:53 +00:00 by thabeta · 0 comments
Owner

Severity: Medium

Location

crates/hero_aibroker_server/src/main.rs — config loading from hero_proc

Finding

The server attempts to load config from hero_proc secrets:

async fn load_config_from_hero_proc(client: &HeroProcRPCAPIClient, config: &mut Config) {
    // If hero_proc is down, all secret_get calls fail silently
    // Config remains at defaults — no API keys loaded
}

If hero_proc is unreachable:

  • All secret_get calls fail silently (using if let Ok(s))
  • Config remains at empty defaults
  • Server starts with no API keys, no auth, no mother brokers
  • No error or warning is emitted

Impact

  • Server appears healthy but has no functionality
  • All requests fail with "no providers available"
  • No indication that hero_proc is the root cause

Recommendation

  • Fail startup if hero_proc is unreachable
  • Emit warnings for each missing secret
  • Add a startup health check that validates critical config
## Severity: Medium ## Location `crates/hero_aibroker_server/src/main.rs` — config loading from hero_proc ## Finding The server attempts to load config from hero_proc secrets: ```rust async fn load_config_from_hero_proc(client: &HeroProcRPCAPIClient, config: &mut Config) { // If hero_proc is down, all secret_get calls fail silently // Config remains at defaults — no API keys loaded } ``` If hero_proc is unreachable: - All `secret_get` calls fail silently (using `if let Ok(s)`) - Config remains at empty defaults - Server starts with no API keys, no auth, no mother brokers - No error or warning is emitted ## Impact - Server appears healthy but has no functionality - All requests fail with "no providers available" - No indication that hero_proc is the root cause ## Recommendation - Fail startup if hero_proc is unreachable - Emit warnings for each missing secret - Add a startup health check that validates critical config
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_aibroker#102
No description provided.