Demo images / Build & push demo images (push) Failing after 2m16s
Keeps the dev and test tooling an outside contributor would want, and takes our node addresses out of it. Scripts that silently defaulted to one of our nodes now require an explicit host and exit 2 without one: smoke-test.sh, trust-archipelago-cert.sh, dev-container-test.sh (which also derives its RPC and health URLs from the SSH target instead of a second hardcoded copy), and image-recipe/dev-branding.sh. A default that points at a machine the user does not own is worse than no default: it fails confusingly, or reaches a stranger's device. Usage examples, mock data and test fixtures move to the RFC 5737 documentation range (192.0.2.0/24). CGNAT test values stay inside 100.64.0.0/10 so the range-check semantics they exercise still hold, and 192.168.1.0/.1/.254 are left alone — those are gateway logic and UI placeholders, not our addresses. Playwright and the perf spec defaulted their baseURL to one of our nodes; they now default to localhost:8100, the local dev server. Removed neode-ui APP_URLS entirely. It is dead code — exported, never imported — and it pinned fedimint's *prod* launch URL to 192.168.1.228:8175. Had anything consumed it, every user's node would have tried to reach an address that on their LAN is either nothing or someone else's machine. Deleting beats sanitizing dead config. Verified: frontend 868/868 vitest across 108 files; archipelago-container 75/75; mesh tests 9/9; audit-secrets 5/5. Zero node addresses and zero node names remain in tracked files. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Archipelago ISO Build - Quick Guide
TL;DR - Build ISO with Live Server State
cd ~/archy/image-recipe
sudo bash build-auto-installer-iso.sh
The script will automatically:
- Try to capture backend from
/usr/local/bin/archipelago - Try to capture frontend from
/opt/archipelago/web-ui - Fall back to building from source if capture fails
Build Modes
Default: Capture from Dev Server (RECOMMENDED)
# From your Mac (captures from remote dev server):
cd image-recipe
DEV_SERVER=archipelago@192.0.2.10 sudo bash build-auto-installer-iso.sh
# From the dev server itself:
cd ~/archy/image-recipe
sudo bash build-auto-installer-iso.sh
Alternative: Build from Source
BUILD_FROM_SOURCE=1 sudo bash build-auto-installer-iso.sh
Known Issues & Workarounds
Issue: Can't capture from localhost via SCP
Problem: When running on the server itself, scp localhost:/path doesn't work.
Workaround: Use direct file copy instead:
# Instead of building on the server, build from your Mac:
cd ~/Projects/archy/image-recipe
DEV_SERVER=archipelago@192.0.2.10 sudo bash build-auto-installer-iso.sh
Issue: Podman registry not configured
Problem: Podman can't pull images because /etc/containers/registries.conf has no unqualified-search registries.
Fix:
ssh archipelago@192.0.2.10
sudo tee -a /etc/containers/registries.conf <<EOF
[registries.search]
registries = ['docker.io']
EOF
Flash ISO to USB
cd ~/Projects/archy/image-recipe
./write-usb-dd.sh /dev/diskX
What Gets Captured
From your dev server (192.0.2.10):
- ✅ Backend binary:
/usr/local/bin/archipelago(6.2M) - ✅ Frontend:
/opt/archipelago/web-ui(~64M) - ✅ Nginx config:
/etc/nginx/sites-available/default - ✅ Systemd service:
/etc/systemd/system/archipelago.service - ✅ App manifests:
~/archy/apps/
Current Status
Latest Working ISO: archipelago-debian-13-x86_64.iso (469M, built 18:28)
- This ISO was built earlier today
- Contains the auto-installer
- Should be tested - might already have your live server state
Next Steps
- Flash the existing ISO and test it on the Dell OptiPlex
- Fix the build script to properly capture from localhost (use
cpinstead ofscp) - Configure Podman registries on dev server for fallback source builds