Files
proxmox/scripts/archive/consolidated/deploy/install-tunnel-via-api.sh
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

93 lines
2.8 KiB
Bash

#!/bin/bash
set -euo pipefail
# Load IP configuration
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
# Install Cloudflare Tunnel using Proxmox API
# Alternative method when direct pct access fails
set -e
VMID=5000
TUNNEL_TOKEN="eyJhIjoiNTJhZDU3YTcxNjcxYzVmYzAwOWVkZjA3NDQ2NTgxOTYiLCJ0IjoiYjAyZmUxZmUtY2I3ZC00ODRlLTkwOWItN2NjNDEyOThlYmU4IiwicyI6Ik5HTmtOV0kwWXpNdFpUVmxaUzAwTVRFMkxXRXdNMk10WlRJNU1ETTFaRFF4TURBMiJ9"
PROXMOX_HOST="${PROXMOX_HOST_ML110}"
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
log_success() { echo -e "${GREEN}[✓]${NC} $1"; }
log_warn() { echo -e "${YELLOW}[⚠]${NC} $1"; }
echo ""
log_info "Installing Cloudflare Tunnel via Proxmox API"
echo ""
# Create installation script to run in container
INSTALL_SCRIPT=$(cat <<'SCRIPT_END'
#!/bin/bash
set -e
# Install cloudflared if needed
if ! command -v cloudflared >/dev/null 2>&1; then
echo "Installing cloudflared..."
cd /tmp
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
dpkg -i cloudflared-linux-amd64.deb || apt install -f -y
echo "cloudflared installed"
fi
# Install service
echo "Installing tunnel service..."
cloudflared service install eyJhIjoiNTJhZDU3YTcxNjcxYzVmYzAwOWVkZjA3NDQ2NTgxOTYiLCJ0IjoiYjAyZmUxZmUtY2I3ZC00ODRlLTkwOWItN2NjNDEyOThlYmU4IiwicyI6Ik5HTmtOV0kwWXpNdFpUVmxaUzAwTVRFMkxXRXdNMk10WlRJNU1ETTFaRFF4TURBMiJ9
# Start service
echo "Starting cloudflared service..."
systemctl start cloudflared
systemctl enable cloudflared
sleep 3
# Check status
echo "Service status:"
systemctl status cloudflared --no-pager -l | head -10
# List tunnels
echo "Tunnel list:"
cloudflared tunnel list
SCRIPT_END
)
# Save script to temp file
TEMP_SCRIPT="/tmp/install-cloudflared-$$.sh"
echo "$INSTALL_SCRIPT" > "$TEMP_SCRIPT"
chmod +x "$TEMP_SCRIPT"
# Copy script to container and execute
log_info "Copying installation script to container..."
ssh -o StrictHostKeyChecking=no root@"$PROXMOX_HOST" "cat > /tmp/install-cloudflared.sh" < "$TEMP_SCRIPT"
log_info "Executing installation in container..."
# Try to execute via pvesh or direct SSH
ssh -o StrictHostKeyChecking=no root@"$PROXMOX_HOST" "pvesh create /nodes/pve2/lxc/5000/exec --command 'bash /tmp/install-cloudflared.sh' --output-format json" 2>&1 || \
ssh -o StrictHostKeyChecking=no root@"$PROXMOX_HOST" "ssh pve2 'pct exec 5000 -- bash /tmp/install-cloudflared.sh'" 2>&1 || \
log_warn "Could not execute via API or SSH. Please run manually on pve2:"
echo ""
log_warn "If automated installation failed, run these commands on pve2:"
echo ""
echo "pct exec 5000 -- bash << 'EOF'"
echo "$INSTALL_SCRIPT"
echo "EOF"
echo ""
rm -f "$TEMP_SCRIPT"