archy/neode-ui/test-install.sh

74 lines
1.9 KiB
Bash
Raw Normal View History

chore: baseline codex hardening before lifecycle refactor Snapshots the in-flight hardening work so subsequent reconcile/Quadlet phases land on a clean before/after diff. Changes: - core/container/src/podman_client.rs: image_uses_insecure_registry() whitelist for the OVH (146.59.87.168:3000) and legacy Hetzner (23.182.128.160:3000) HTTP mirrors; podman_network_settings() lifts custom networks into the Networks map so containers can join them. - core/archipelago/src/container/prod_orchestrator.rs: ensure_container_network() creates per-manifest networks on demand; apply_data_uid() now goes through host_sudo for mkdir -p + chown so bind-mount roots get created and chowned without password prompts. - core/archipelago/src/api/rpc/package/{install,update,stacks}.rs: podman pull adds --tls-verify=false only for whitelisted registries. - core/archipelago/src/bootstrap.rs: removes stale dev-mode systemd override on startup (live nodes carried it from old installers). - core/archipelago/src/config.rs: ignore ARCHIPELAGO_DEV_MODE in prod binaries — it had been silently rerouting volumes to /tmp. - apps/bitcoin-{core,knots}/manifest.yml: locate bitcoind at runtime so image-layout differences don't break entrypoint. - scripts/app-catalog-image-smoke-test.py: production catalog/image smoke test that probes a target node before users click Install. - .gitignore: cover .codex, .pnpm-store, __pycache__, *.bak. Removes filebrowser.rs.bak and two stale catalog.json.bak files (verified identical to live counterparts). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 08:52:29 -04:00
#!/bin/bash
echo "🔍 Testing ATOB Installation Setup"
echo "===================================="
# Check if s9pk exists
echo ""
echo "1. Checking s9pk file..."
if [ -f "public/packages/atob.s9pk" ]; then
echo " ✅ Found: public/packages/atob.s9pk ($(du -h public/packages/atob.s9pk | cut -f1))"
else
echo " ❌ Missing: public/packages/atob.s9pk"
exit 1
fi
# Check if mock backend is running
echo ""
echo "2. Checking mock backend..."
if lsof -i :5959 | grep LISTEN > /dev/null; then
echo " ✅ Mock backend running on port 5959"
else
echo " ❌ Mock backend NOT running on port 5959"
echo " Run: node mock-backend.js"
exit 1
fi
# Check if Docker is running
echo ""
echo "3. Checking Docker..."
if docker ps > /dev/null 2>&1; then
echo " ✅ Docker is running"
else
echo " ❌ Docker is NOT running"
echo " Start Docker Desktop"
exit 1
fi
# Test RPC call
echo ""
echo "4. Testing RPC endpoint..."
RESPONSE=$(curl -s -X POST http://localhost:5959/rpc/v1 \
-H "Content-Type: application/json" \
-d '{"method":"server.echo","params":{"message":"test"}}')
if echo "$RESPONSE" | grep -q '"result"'; then
echo " ✅ RPC endpoint responding"
else
echo " ❌ RPC endpoint not responding"
echo " Response: $RESPONSE"
exit 1
fi
# Check existing containers
echo ""
echo "5. Checking existing atob containers..."
if docker ps -a | grep atob-test > /dev/null; then
echo " ⚠️ Found existing atob-test container"
echo " To remove: docker rm -f atob-test"
else
echo " ✅ No existing atob-test container"
fi
echo ""
echo "===================================="
echo "✅ All checks passed!"
echo ""
echo "Now test in browser:"
echo "1. Go to http://localhost:8100"
echo "2. Navigate to Marketplace"
echo "3. Click Install on ATOB"
echo "4. Watch terminal for Docker logs"
echo "5. Watch browser console for polling logs"