archy/scripts/verify-deployment.sh
Dorian 486fc39249 feat: complete Phase 1 foundation hardening + three-mode UI design doc
Phase 1a — Gradient Removal:
- Replaced all gradient-button/gradient-card with glass-button/path-option-card
- Removed banned gradient CSS classes

Phase 1b — Security Hardening:
- SecretsManager: AES-256-GCM encryption (core/security)
- electrs_status: credentials from env vars instead of hardcoded
- port_manager: RwLock proper error handling (no unwrap)
- Pinned all 11 :latest manifest images to specific versions
- parmanode converter: pinned inferred image versions

Phase 1c — Code Quality:
- Split rpc.rs (1795 lines) into 6 handler modules (auth, node, container, package, peers)
- Removed sideload code (UI, store, RPC client, 3 doc files)
- Fixed body background flash on logout/refresh
- Replaced 30 TypeScript `any` types with proper types
- Deleted HelloWorld.vue, removed TODO comments
- Added set -euo pipefail to all shell scripts
- Made deploy script verbose with timestamps and elapsed time

Also adds:
- CLAUDE.md project guide
- docs/three-mode-ui-design.md — design spec for Easy/Pro/Chat UI modes
- OnlineStatusPill component

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 05:23:42 +00:00

32 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
# Verify the deployment is working correctly
TARGET_HOST="${ARCHIPELAGO_TARGET:-archipelago@192.168.1.228}"
echo "Checking deployment status..."
echo ""
echo "1. Backend binary timestamp:"
ssh "$TARGET_HOST" "ls -lh /usr/local/bin/archipelago | awk '{print \$6, \$7, \$8, \$9}'"
echo ""
echo "2. Backend service status:"
ssh "$TARGET_HOST" "sudo systemctl status archipelago --no-pager | head -20"
echo ""
echo "3. Test RPC method 'container-list':"
ssh "$TARGET_HOST" 'curl -s http://localhost:5678/rpc/v1 -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"container-list\",\"params\":{}}" | jq .'
echo ""
echo "4. Check if bundled-app-start method exists (should not error):"
ssh "$TARGET_HOST" 'curl -s http://localhost:5678/rpc/v1 -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"bundled-app-start\",\"params\":{\"app_id\":\"bitcoin-knots\",\"image\":\"test\",\"ports\":[],\"volumes\":[]}}" | jq .'
echo ""
echo "5. Frontend files timestamp:"
ssh "$TARGET_HOST" "ls -lh /opt/archipelago/web-ui/index.html | awk '{print \$6, \$7, \$8, \$9}'"
echo ""
echo "6. Check for BUNDLED_APPS in frontend JS:"
ssh "$TARGET_HOST" "grep -o 'bitcoin-knots' /opt/archipelago/web-ui/assets/*.js | head -1"