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>
22 lines
1.2 KiB
Bash
Executable file
22 lines
1.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Upload a log (its last 256 KB) to the Igneum log intake, the same endpoint and key as
|
|
# proto-cuda/windows-miner/upload-log.bat (the key only authorises log uploads and ships inside the packages).
|
|
# Read back on the Mac with `node tools/logs.mjs`.
|
|
# ./upload.sh <logfile> <label> [run_id]
|
|
set -euo pipefail
|
|
IGNEUM_LOG_URL="${IGNEUM_LOG_URL:-https://igneum-six.vercel.app/api/log}"
|
|
IGNEUM_LOG_KEY="${IGNEUM_LOG_KEY:-***INTAKE-KEY-REMOVED***}"
|
|
[ $# -ge 2 ] || { echo "usage: upload.sh <logfile> <label> [run_id]"; exit 1; }
|
|
file="$1"; label="$2"; run_id="${3:-${IGNEUM_RUN_ID:-$label-$(date -u +%Y%m%d-%H%M)}}"
|
|
[ -f "$file" ] || { echo "upload: file not found: $file"; exit 2; }
|
|
body=$(mktemp)
|
|
python3 - "$file" "$label" "$run_id" "$body" <<'EOF'
|
|
import json, socket, sys
|
|
path, label, run_id, out = sys.argv[1:5]
|
|
data = open(path, 'rb').read()[-262144:]
|
|
json.dump({"label": label, "machine": socket.gethostname(), "run_id": run_id, "lines": data.decode('utf-8', 'replace')}, open(out, 'w'))
|
|
print(f"upload: run_id {run_id}, {len(data)} bytes")
|
|
EOF
|
|
curl -sS --max-time 60 -X POST "$IGNEUM_LOG_URL" -H "Content-Type: application/json" -H "x-igneum-key: $IGNEUM_LOG_KEY" --data-binary "@$body"
|
|
echo
|
|
rm -f "$body"
|