#!/usr/bin/env bash set -euo pipefail shopt -s nullglob for vm_json in state/vms/*/vm.json; do id="$(jq -r '.meta.id // empty' "$vm_json")" name="$(jq -r '.meta.name // empty' "$vm_json")" created_at="$(jq -r '.meta.created_at // empty' "$vm_json")" guest_ip="$(jq -r '.meta.guest_ip // empty' "$vm_json")" pid="$(jq -r '.meta.pid // empty' "$vm_json")" tap="$(jq -r '.meta.tap // empty' "$vm_json")" api_sock="$(jq -r '.meta.api_sock // empty' "$vm_json")" if [[ -z "$pid" || -z "$api_sock" ]]; then continue fi if ps -p "$pid" -o comm=,args= 2>/dev/null | rg -q "firecracker.*--api-sock $api_sock"; then printf 'id=%s name=%s created_at=%s guest_ip=%s pid=%s tap=%s\n' \ "$id" "$name" "$created_at" "$guest_ip" "$pid" "$tap" fi done