From 3300fdbaf8a017a97e28cafe04ff048664591dda Mon Sep 17 00:00:00 2001 From: Evan Hosinski Date: Thu, 5 Feb 2026 11:46:28 -0500 Subject: [PATCH] Updates for UX Includes optional Env vars --- install.sh | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index 1a88cf7..9285007 100644 --- a/install.sh +++ b/install.sh @@ -117,8 +117,10 @@ choose_cuda() { if CUDA_VERSION="$(choose_cuda)"; then log "Selected CUDA image version: ${CUDA_VERSION}" else - err "No compatible CUDA image found for driver capability ${DETECTED_MM}.x" - err "Supported versions: ${SUPPORTED_CUDA[*]}" + err "No Tentacle image for CUDA ${DETECTED_MM}.x" + err "Driver reports CUDA ${DETECTED_CUDA}" + err "Available images: ${SUPPORTED_CUDA[*]}" + err "Install compatible NVIDIA driver or contact support." exit 1 fi @@ -131,9 +133,12 @@ IMAGE="${IMAGE_BASE}/${CUDA_VERSION}/tentacle:${IMAGE_TAG}" docker logout "$REGISTRY" >/dev/null 2>&1 || true REG_USER="krkn-registry" +REG_PASS="${KRKN_REGISTRY_TOKEN:-}" -read -rsp "Registry access token: " REG_PASS < /dev/tty -echo +if [ -z "$REG_PASS" ]; then + read -rsp "Registry access token: " REG_PASS < /dev/tty + echo +fi echo "$REG_PASS" | docker login "$REGISTRY" -u "$REG_USER" --password-stdin || { err "Docker login failed. Invalid token or registry unreachable." @@ -143,11 +148,15 @@ echo "$REG_PASS" | docker login "$REGISTRY" -u "$REG_USER" --password-stdin || { # ----------------------------- # Prompt config # ----------------------------- -echo -read -rp "Orchestrator address (e.g. https://krkn.example.com): " ORCH_ADDR < /dev/tty +ORCH_ADDR="${KRKN_ORCH_ADDR:-}" + if [ -z "$ORCH_ADDR" ]; then - err "Orchestrator address is required." - exit 1 + echo + read -rp "Orchestrator address (e.g. https://krkn.example.com): " ORCH_ADDR < /dev/tty + if [ -z "$ORCH_ADDR" ]; then + err "Orchestrator address is required." + exit 1 + fi fi # ----------------------------- @@ -214,7 +223,7 @@ WORKER_ID="${WORKER_ID:-$DEFAULT_WORKER_ID}" # Pull image # ----------------------------- log "Pulling image: ${IMAGE}" -docker pull "${IMAGE}" || { +docker pull --quiet "${IMAGE}" || { err "Failed to pull image. Check token permissions or image availability." exit 1 } @@ -277,6 +286,7 @@ mkdir -p /tmp/tentacle-logs log "Starting Tentacle worker..." docker run -d \ + --pull=always \ --name "${CONTAINER_NAME}" \ --network host \ --runtime=nvidia \ @@ -288,6 +298,20 @@ docker run -d \ -v /tmp/tentacle-logs:/opt/tentacle/logs \ "${IMAGE}" +# ----------------------------- +# Test GPU Access +# ----------------------------- +sleep 5 + +if ! docker exec "${CONTAINER_NAME}" nvidia-smi >/dev/null 2>&1; then + err "GPU not accessible inside container." + err "Check NVIDIA Container Toolkit installation." + exit 1 +fi + +log "GPU access verified." + + # ----------------------------- # Done # -----------------------------