Skip to content

feat(network): durable eRPC config via erpc set|status|reset#772

Open
bussyjd wants to merge 3 commits into
mainfrom
feat/erpc-operator-overlay
Open

feat(network): durable eRPC config via erpc set|status|reset#772
bussyjd wants to merge 3 commits into
mainfrom
feat/erpc-operator-overlay

Conversation

@bussyjd

@bussyjd bussyjd commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Prevents loss of local eRPC config on obol stack up / helm re-render by persisting operator eRPC fragments on the host and re-merging them after recorded remotes.

Not a full ConfigMap replace: merge-by-id (networks / upstreams / budgets / cache policies).

CLI (aligned with stack verbs)

Command Role
obol network erpc set -f <file.yaml> Write host intent + merge into live CM
obol network erpc status Show host intent
obol network erpc reset Strip live fragments + delete host file

Stack up still re-applies via internal ReconcileERPCOverlay (not a public verb).
Mirrors sell info set|reset + host-side records like recorded-upstreams.yaml.

obol network erpc set -f examples/erpc-overlay-hyperevm.yaml
obol network erpc status
# survives: obol stack up
obol network erpc reset   # when done

Test plan

  • go test ./internal/network/ ./cmd/obol/
  • obol network erpc --help → set|status|reset
  • Live: set HyperEVM basket, stack up, confirm /rpc/hyperevm still works

Closes #763

Operators need multi-upstream eRPC baskets (scoring, rate-limit budgets,
realtime eth_call cache) that helmfile/chart re-renders currently wipe.
Mirror Hermes preserve-on-sync and recorded remotes:

- Persist $CONFIG_DIR/rpc/erpc-overlay.yaml (0600)
- Deep-merge networks/upstreams/rateLimiters/cache policies into live CM
- ReconcileERPCOverlay after ReconcileRecordedRPCs on stack up
- CLI: obol network overlay apply|status|clear|reconcile
- Example HyperEVM basket + resume-order guard test

Closes #763
Comment thread internal/network/overlay.go Fixed
@OisinKyne

OisinKyne commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

What's the problem to be solved here? 'not having to edit a configmap' doesn't explain the root challenge

obol network overlay apply|status|clear|reconcile
should we do set/reset or sync or delete, pretty sure these proposed verbs are completely different to other patterns we have in the stack. Also, i maybe override vs overlay? can you actually override though?

…terns

Drop overlay apply/clear/reconcile. Operator surface is now the thin
sell-info-shaped set/status/reset on `obol network erpc`, matching the
intent: durable host-side eRPC config so local baskets survive stack up.
Stack-up still calls ReconcileERPCOverlay internally (not a CLI verb).
@bussyjd bussyjd changed the title feat(network): durable eRPC operator overlays that survive stack up feat(network): durable eRPC config via erpc set|status|reset Jul 16, 2026
Drop len(a)+len(b) make capacities in mergeNetworksByID/mergeUpstreamsByID;
grow on demand (same pattern as Hermes command_allowlist).
bussyjd added a commit that referenced this pull request Jul 16, 2026
@bussyjd

bussyjd commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

Merged into integration/v0.14.0-rc0 (merge commit 060008e6). Leaving this PR open against main so it can land via the integration train (#756) or a later cherry/rebase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

eRPC operator overlays are overwritten on stack up / helm sync (HyperEVM basket)

3 participants