Commit dde3881
committed
feat(tools/talis): vendor talis deployment tool + Fibre experiment runner
Brings the celestia-app talis multi-cloud deploy tool into ev-node,
plus the wiring needed to deploy a working Fibre DA aggregator
end-to-end on top of it. Verified via a fresh AWS run from this
branch state — talis up → genesis → deploy → setup-fibre → start-fibre
→ fibre-bootstrap-evnode → loadgen reaches 24.57 MB/s @ 99.7 % ok
on 60 s (3-validator c6in.4xlarge + c6in.2xlarge bridge + c6in.8xlarge
ev-node + c6in.2xlarge load-gen, all us-east-1).
What this adds:
• tools/talis/ — vendored from celestia-app's
feat/fibre-payments. Provisions AWS / DO / GCP boxes for one or
more validators + bridge + ev-node + load-gen, deploys binaries
+ init scripts, drives a Fibre setup-fibre + start-fibre flow,
and ships an evnode-bootstrap step that scp's the bridge JWT and
Fibre payment keyring onto each ev-node before its init script
starts the daemon.
• tools/celestia-node-fiber/cmd/evnode-fibre/ — long-lived
aggregator runner that wires block.NewFiberDAClient on top of
the celestia-node-fiber adapter. Compiled on each `talis genesis`
and shipped to evnode-* hosts.
• tools/talis/cmd/evnode-txsim/ — small Go load-gen that pumps the
runner's HTTP /tx ingress for a fixed duration; deployed to the
load-gen boxes and prints a single TXSIM: line on completion.
• tools/talis/Makefile — cross-compiles celestia-appd, the
fibre server + load tool, the bridge/light celestia binary, and
both runner binaries to linux/amd64 for talis genesis -b.
setup-fibre fixes uncovered during the verified run:
• bash script for set-host now retries until the validator's host
appears in `query valaddr providers`. The previous one-shot call
relied on `--yes` returning the txhash before block inclusion;
if the chain wasn't ready (validator just-started, mempool full,
parallel set-host on other validators contending) the tx silently
bounced and the validator never registered. Fibre client cached
the partial set on startup and uploads cascaded to "host not
found" → "voting power: collected 0".
• talis-CLI side polls `query valaddr providers` after the per-
validator scripts finish and refuses to return until all
validators are registered. Up to 5-minute deadline, then errors
so the operator can re-run instead of pressing on with a broken
Fibre setup.
What this changes in ev-node itself (load-bearing for the runner):
• pkg/config/config.go: new ApplyFiberDefaults() profile that flips
the DA client to Fibre-friendly defaults (adaptive batching,
1 s DA.BlockTime, 50-deep pending-cache window) so a runner can
opt in with one call.
• block/public.go: SetMaxBlobSize override so the runner can lift
Celestia's 5 MiB default to Fibre's 120 MiB headroom; new
NewFiberDAClient + Fibre type re-exports for the adapter.
• block/internal/da/{fiber_client.go,fiber/types.go,fibremock/}:
Fibre adapter wired through the DA client interface, with a
matching mock used by the testing tree.
• block/internal/submitting/da_submitter.go: per-stream upload
workers, splitByBlobSize chunking, parallel signing pool, and
an oversized-blob safety net that advances the cache instead
of looping forever (which OOM'd the daemon under sustained
Fibre stalls).
• core/sequencer/sequencing.go: ErrQueueFull sentinel for sequencer
backpressure; pkg/sequencers/solo/sequencer.go honours a
configurable mempool cap and returns it on overflow so the
reaper can back off instead of feeding an unbounded queue
while the executor is paused on the pending-cache cap.
External dependency (documented in tools/talis/fibre.md):
• Sibling clone of celestia-app on a branch with feat/fibre-payments
+ sysrex/fibre_url_fix cherry-picked. Without the URL-parse fix
the Fibre client rejects every host:port registration.
Tested:
- go test ./block/... ./pkg/... ./types/... — all green
- go build ./... + Makefile build-bins — all 6 binaries cross-
compile cleanly to linux/amd64
- End-to-end AWS run from this branch state — TXSIM 24.57 MB/s,
99.7 % ok on a 60 s sustained run1 parent da7df02 commit dde3881
98 files changed
Lines changed: 20503 additions & 1091 deletions
File tree
- .claude
- apps
- evm/cmd
- grpc/cmd
- testapp/cmd
- block
- internal
- cache
- da
- fiber
- fibremock
- executing
- reaping
- submitting
- syncing
- core/sequencer
- pkg
- cmd
- config
- sequencers/solo
- tools
- celestia-node-fiber
- cmd/evnode-fibre
- testing
- talis
- cmd/evnode-txsim
- scripts
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
3 | 5 | | |
4 | 6 | | |
5 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
135 | 138 | | |
136 | 139 | | |
137 | 140 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | | - | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
91 | 93 | | |
92 | 94 | | |
93 | 95 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
101 | 106 | | |
102 | 107 | | |
103 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
80 | 79 | | |
81 | 80 | | |
82 | | - | |
83 | 81 | | |
84 | 82 | | |
85 | 83 | | |
| |||
312 | 310 | | |
313 | 311 | | |
314 | 312 | | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | 313 | | |
324 | 314 | | |
325 | 315 | | |
| |||
328 | 318 | | |
329 | 319 | | |
330 | 320 | | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | 321 | | |
336 | 322 | | |
337 | 323 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | 224 | | |
231 | 225 | | |
232 | 226 | | |
| |||
237 | 231 | | |
238 | 232 | | |
239 | 233 | | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
240 | 238 | | |
241 | 239 | | |
242 | 240 | | |
| |||
0 commit comments