Updates for UX

Includes optional Env vars
This commit is contained in:
2026-02-05 11:46:28 -05:00
parent 5c1d1ff1e4
commit 3300fdbaf8

View File

@@ -117,8 +117,10 @@ choose_cuda() {
if CUDA_VERSION="$(choose_cuda)"; then if CUDA_VERSION="$(choose_cuda)"; then
log "Selected CUDA image version: ${CUDA_VERSION}" log "Selected CUDA image version: ${CUDA_VERSION}"
else else
err "No compatible CUDA image found for driver capability ${DETECTED_MM}.x" err "No Tentacle image for CUDA ${DETECTED_MM}.x"
err "Supported versions: ${SUPPORTED_CUDA[*]}" err "Driver reports CUDA ${DETECTED_CUDA}"
err "Available images: ${SUPPORTED_CUDA[*]}"
err "Install compatible NVIDIA driver or contact support."
exit 1 exit 1
fi fi
@@ -131,9 +133,12 @@ IMAGE="${IMAGE_BASE}/${CUDA_VERSION}/tentacle:${IMAGE_TAG}"
docker logout "$REGISTRY" >/dev/null 2>&1 || true docker logout "$REGISTRY" >/dev/null 2>&1 || true
REG_USER="krkn-registry" REG_USER="krkn-registry"
REG_PASS="${KRKN_REGISTRY_TOKEN:-}"
if [ -z "$REG_PASS" ]; then
read -rsp "Registry access token: " REG_PASS < /dev/tty read -rsp "Registry access token: " REG_PASS < /dev/tty
echo echo
fi
echo "$REG_PASS" | docker login "$REGISTRY" -u "$REG_USER" --password-stdin || { echo "$REG_PASS" | docker login "$REGISTRY" -u "$REG_USER" --password-stdin || {
err "Docker login failed. Invalid token or registry unreachable." err "Docker login failed. Invalid token or registry unreachable."
@@ -143,12 +148,16 @@ echo "$REG_PASS" | docker login "$REGISTRY" -u "$REG_USER" --password-stdin || {
# ----------------------------- # -----------------------------
# Prompt config # Prompt config
# ----------------------------- # -----------------------------
ORCH_ADDR="${KRKN_ORCH_ADDR:-}"
if [ -z "$ORCH_ADDR" ]; then
echo echo
read -rp "Orchestrator address (e.g. https://krkn.example.com): " ORCH_ADDR < /dev/tty read -rp "Orchestrator address (e.g. https://krkn.example.com): " ORCH_ADDR < /dev/tty
if [ -z "$ORCH_ADDR" ]; then if [ -z "$ORCH_ADDR" ]; then
err "Orchestrator address is required." err "Orchestrator address is required."
exit 1 exit 1
fi fi
fi
# ----------------------------- # -----------------------------
# Normalize orchestrator address # Normalize orchestrator address
@@ -214,7 +223,7 @@ WORKER_ID="${WORKER_ID:-$DEFAULT_WORKER_ID}"
# Pull image # Pull image
# ----------------------------- # -----------------------------
log "Pulling image: ${IMAGE}" log "Pulling image: ${IMAGE}"
docker pull "${IMAGE}" || { docker pull --quiet "${IMAGE}" || {
err "Failed to pull image. Check token permissions or image availability." err "Failed to pull image. Check token permissions or image availability."
exit 1 exit 1
} }
@@ -277,6 +286,7 @@ mkdir -p /tmp/tentacle-logs
log "Starting Tentacle worker..." log "Starting Tentacle worker..."
docker run -d \ docker run -d \
--pull=always \
--name "${CONTAINER_NAME}" \ --name "${CONTAINER_NAME}" \
--network host \ --network host \
--runtime=nvidia \ --runtime=nvidia \
@@ -288,6 +298,20 @@ docker run -d \
-v /tmp/tentacle-logs:/opt/tentacle/logs \ -v /tmp/tentacle-logs:/opt/tentacle/logs \
"${IMAGE}" "${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 # Done
# ----------------------------- # -----------------------------