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
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
# -----------------------------