infra/cloud-devnet: hcloud (doctl variant) create, builder-VM provision from a git-archive source tarball, systemd units for igneumd --devnet-suffix with a sparse --addpeer mesh and a CPU trickle miner per node, stdlib wRPC client, experiments (latency, partition, hop, collect, observer hookup), README with the command sequence and the Hetzner API prices of 3 Oct 2026. infra/gpu-bench: RunPod image recipes (CUDA 12.8, ROCm), bundle, run.sh (vectors gate, 10-min raw, sweep, inline shortcut ratio, nvcc/NVRTC/OpenCL recompile timings, results row, intake upload), bench-log template. infra/seed-nodes: create-seed (persistent IPv4, firewall), provision on the VM, health check, addPeer from the Mac over grpcurl, seeds.txt; igneum-seed-1 created at 188.245.5.161 (Hetzner cx23, fsn1). docs/plans/cloud-devnet.md and docs/plans/seed-nodes.md. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
28 lines
1.6 KiB
Bash
Executable file
28 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Delete every VM of the devnet (nodes and builder) and the firewall. The SSH key stays on the provider (free).
|
|
# Run experiments/collect.sh first: the logs on the VMs go with them.
|
|
. "$(dirname "$0")/lib/common.sh"
|
|
|
|
if [ "$PROVIDER" = digitalocean ]; then
|
|
need doctl "brew install doctl"
|
|
ids=$(doctl compute droplet list --tag-name "$PREFIX-devnet" --format ID,Name --no-header)
|
|
[ -n "$ids" ] || log "no droplets tagged $PREFIX-devnet"
|
|
printf '%s\n' "$ids"
|
|
confirm "delete these droplets and the firewall $PREFIX-devnet?"
|
|
[ -n "$ids" ] && doctl compute droplet delete -f --tag-name "$PREFIX-devnet"
|
|
doctl compute droplet delete -f "$PREFIX-builder" 2>/dev/null || true
|
|
fw=$(doctl compute firewall list --format ID,Name --no-header | awk -v n="$PREFIX-devnet" '$2 == n { print $1 }')
|
|
[ -n "$fw" ] && doctl compute firewall delete -f "$fw"
|
|
else
|
|
need hcloud "brew install hcloud"
|
|
hcloud server list -l igneum=devnet
|
|
confirm "delete every server labelled igneum=devnet and the firewall $PREFIX-devnet?"
|
|
names=$(hcloud server list -l igneum=devnet -o columns=name -o noheader)
|
|
for s in $names; do hcloud server delete "$s" >/dev/null && log "deleted $s"; done
|
|
hcloud firewall delete "$PREFIX-devnet" >/dev/null 2>&1 && log "deleted firewall $PREFIX-devnet" || true
|
|
fi
|
|
if [ -f "$NODES_FILE" ]; then
|
|
d=$(results_dir_for); cp "$NODES_FILE" "$d/nodes-destroyed-$(date -u +%H%M%S).tsv"; rm -f "$NODES_FILE" "$BUILD_DIR/builder.ip"
|
|
fi
|
|
printf '%s\tdestroy\n' "$(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$(results_dir_for)/events.log"
|
|
log "done. Check the provider console once: nothing labelled igneum should remain."
|