Commit ddd77ae
authored
feat(tools/talis): vendor talis deployment tool + Fibre experiment runner (#3301)
Brings the celestia-app talis multi-cloud deploy tool into ev-node,
plus a long-lived ev-node aggregator runner that wires the existing
celestia-node-fiber adapter behind ev-node's DA client interface.
Verified end-to-end on AWS — talis up → genesis → deploy →
setup-fibre → start-fibre → fibre-bootstrap-evnode reaches
24.57 MB/s @ 99.7 % ok on a 60 s sustained loadgen
(3 × c6in.4xlarge validators + c6in.2xlarge bridge +
c6in.8xlarge ev-node + c6in.2xlarge load-gen, us-east-1).
What this adds:
• tools/talis/ — vendored from celestia-app's
feat/fibre-payments. Provisions AWS / DO / GCP boxes for
validators + bridge + ev-node + load-gen, deploys binaries +
init scripts, drives the Fibre setup-fibre + start-fibre flow,
and ships a fibre-bootstrap-evnode 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/ — the long-lived
aggregator runner. Wires block.NewFiberDAClient on top of the
celestia-node-fiber adapter that julien/fiber already ships,
plus the in-memory executor + HTTP /tx ingress used by
evnode-txsim. Distinct from the existing fiber-bench cmd.
• tools/talis/cmd/evnode-txsim/ — small Go load-gen that pumps
the runner's HTTP /tx ingress for a fixed duration; deployed
to load-gen boxes and prints a single TXSIM: line on completion.
Two small ev-node-side helpers the runner calls:
• block/public.go: SetMaxBlobSize(n) — overrides the per-blob
byte cap so the runner can lift Celestia's 5 MiB default to
Fibre's 120 MiB headroom.
• pkg/config/config.go: Config.ApplyFiberDefaults() — flips the
DA config to Fibre-friendly settings (adaptive batching, 1 s
DA.BlockTime, 50-deep pending-cache window) when the Fiber
profile is enabled, so a runner can opt in with one call.
setup-fibre robustness 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, the tx silently bounced.
The 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 (5-minute deadline).
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 build ./... — clean
- go test ./block/internal/submitting ./pkg/config (the two
pre-existing test failures on julien/fiber — TestAddFlags
and TestFiberClient_Submit_BlobTooLarge — are not introduced
by this PR and reproduce on raw julien/fiber)
- End-to-end AWS deploy from this branch — 24.57 MB/s, 99.7 % ok1 parent 638b96f commit ddd77ae
49 files changed
Lines changed: 13658 additions & 0 deletions
File tree
- block
- pkg/config
- tools
- celestia-node-fiber/cmd/evnode-fibre
- 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 | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
22 | 30 | | |
23 | 31 | | |
24 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
343 | 343 | | |
344 | 344 | | |
345 | 345 | | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
346 | 373 | | |
347 | 374 | | |
348 | 375 | | |
| |||
0 commit comments