mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-10-25 02:31:30 +00:00
Settings() raised SettingsError constructing ALLOWED_ORIGINS. The field is declared list[str] and documented "comma-separated in env", but pydantic-settings decodes complex types from the environment as JSON before any validator runs, so the plain `a,b,c` that every Deployment manifest, .env and compose file writes was fatal — not a bad value, an unconstructable Settings. That made every route depending on it 500: require_admin builds an IAMClient, which calls get_settings(). The lux.cloud fleet overview returned HTTP 500 the moment the admin gate shipped, and the failure was in the gate, nowhere near the collector it guarded. NoDecode hands the raw string to one validator that splits it, for both list settings. One variable, one format, decided in one place. Co-authored-by: Hanzo Dev <[email protected]>