/ scripts / provision.sh
provision.sh
 1  #!/usr/bin/env bash
 2  
 3  set -euo pipefail
 4  
 5  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 6  PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
 7  SSH_PRIVKEY="$PROJECT_ROOT/cloud-init/keys/id_ed25519"
 8  BOOTSTRAP_LOCAL="$SCRIPT_DIR/bootstrap.sh"
 9  BOOTSTRAP_REMOTE="/tmp/bootstrap.sh"
10  
11  # Get IP using enter.sh logic
12  VM_IP_ADDR="$("$SCRIPT_DIR/enter.sh" --print-ip 2>/dev/null || true)"
13  
14  if [[ -z "$VM_IP_ADDR" ]]; then
15    # Fallback to native lookup
16    VM_IP_ADDR="$(sudo virsh net-dhcp-leases default |
17      awk '/aosp-builder-01/ {sub(/\/.*/, "", $5); print $5}')"
18  fi
19  
20  if [[ -z "$VM_IP_ADDR" ]]; then
21    echo "Could not determine VM IP address. Is the VM running?"
22    exit 1
23  fi
24  
25  echo ":: Uploading bootstrap.sh"
26  scp -i "$SSH_PRIVKEY" "$BOOTSTRAP_LOCAL" "$VM_USER@$VM_IP_ADDR:$BOOTSTRAP_REMOTE"
27  
28  echo ":: Running bootstrap.sh"
29  "$SCRIPT_DIR/enter.sh" bash "$BOOTSTRAP_REMOTE"