#!/bin/sh # Praxis — Start a Proxmox LXC container and poll the async task. # # Env: PROXMOX_API_URL, PROXMOX_API_TOKEN, PROXMOX_NODE # Args: $1 = VMID # Exit: 0 on success, 1 on failure set -eu SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" # shellcheck source=api.sh disable=SC1091 . "${SCRIPT_DIR}/api.sh" pve_env PROXMOX_API_URL PROXMOX_API_TOKEN PROXMOX_NODE vmid="${1:?usage: lxc-start.sh }" node="${PROXMOX_NODE}" start_path="/nodes/${node}/lxc/${vmid}/status/start" echo "lxc-start: starting VMID ${vmid}" >&2 upid=$(pve_curl POST "$start_path") if [ -z "$upid" ] || [ "$upid" = "null" ]; then echo "lxc-start: failed to start (empty UPID)" >&2 exit 1 fi echo "lxc-start: polling start task ${upid}" >&2 pve_poll "$upid" echo "lxc-start: VMID ${vmid} is running" >&2