#!/usr/bin/env bash # Czeka, aż endpoint OpenAI odpowie na /v1/models. Pobranie modelu potrafi trwać, # więc domyślny limit jest hojny, a komunikat mówi, gdzie zajrzeć. set -euo pipefail url="${1:?podaj base_url, np. http://localhost:8000/v1}" timeout="${2:-900}" log="${3:-}" deadline=$(( $(date +%s) + timeout )) printf 'czekam na %s/models ' "$url" while [ "$(date +%s)" -lt "$deadline" ]; do if curl -fsS --max-time 5 "$url/models" >/dev/null 2>&1; then printf '\nendpoint gotowy: %s\n' "$url" exit 0 fi printf '.' sleep 3 done printf '\n' echo "endpoint nie odpowiedział w ciągu ${timeout}s" >&2 [ -n "$log" ] && [ -f "$log" ] && { echo "--- ostatnie 30 linii $log:" >&2; tail -30 "$log" >&2; } exit 1