refactor: use upload_files for URL fetches instead of run_sh+curl#1400
refactor: use upload_files for URL fetches instead of run_sh+curl#1400barnabasbusa wants to merge 2 commits into
Conversation
Kurtosis 1.18.3 added native HTTP(S) URL support to plan.upload_files, so files referenced by a static URL can be fetched at interpretation time without spinning up a service container. Replaces curl-in-run_sh fetches in: - public_network.star: eth-clients genesis.json - shadowfork.star: ephemery config.yaml - remote_enclave.star: network-config.tar - mempool_bridge_launcher.star: enodes.yaml (now fetched once instead of MAX_ENODES_TO_FETCH times) Remaining run_sh calls in these paths now only parse the mounted artifact (jq/yq/sed) rather than performing a network fetch.
🤖 qu0b-reviewerSummaryThe PR replaces Issues
Suggestions
Reviewed @ |
Summary
run_sh+curlfetches with nativeplan.upload_files(src=<https-url>, ...)where the URL is known at interpretation timerun_shcalls along these paths now only parse the mounted artifact (jq/yq/sed) — no more network egress from those stepsmempool_bridge_launcher.star, the enode list URL is now fetched once instead ofMAX_ENODES_TO_FETCH(= 5) timesFiles touched:
src/network_launcher/public_network.star— eth-clientsgenesis.jsonsrc/network_launcher/shadowfork.star— ephemeryconfig.yamlsrc/network_launcher/remote_enclave.star— remote enclavenetwork-config.tarsrc/mempool_bridge/mempool_bridge_launcher.star— eth-clientsenodes.yamlRequirements
Kurtosis >= 1.18.3 is required. This PR depends on kurtosis-tech/kurtosis#3111 ("allow http(s) URLs in upload_files src"), which shipped in Kurtosis 1.18.3. Earlier Kurtosis versions will fail at interpretation time when they hit the new
upload_files(src="https://...")calls.Test plan
kurtosis lint --format .clean (already verified locally)hoodi) end-to-end and confirmel_cl_genesis_dataartifact is populated andosakaTimeis read correctlykt-...) network and confirm the tar is fetched + extracted intoel_cl_genesis_data