Updates for UX
Includes optional Env vars
This commit is contained in:
30
install.sh
30
install.sh
@@ -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
|
||||||
# -----------------------------
|
# -----------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user