Skip to content

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoupeUp

Super Compute Cluster at GIKI.

Download and run (releases)

Prebuilt artifacts are published on GitHub Releases:

Platform Artifact What you get
Windows desktop NSIS installer (.exe) Cluster Runtime GUI + bundled clusterctl
Linux server cluster-runtime-headless-x86_64-unknown-linux-gnu.tar.gz cluster-runtime-server + clusterctl

There is no Linux desktop app in this release track.

Windows

  1. Download the latest NSIS installer from Releases and run it.
  2. Launch Cluster Runtime — the API starts automatically.
  3. On each start the app checks for updates (Settings → Updates). Accept Install update to download, verify the signature, and relaunch.

Python is not in the installer; the runtime downloads a standalone build into the app data dir on first use if system Python is missing.

Linux server

tar -xzf cluster-runtime-headless-x86_64-unknown-linux-gnu.tar.gz
cd cluster-runtime-headless-x86_64-unknown-linux-gnu
./cluster-runtime-server --service
# other terminal
./clusterctl status

Update (stop the server first):

./clusterctl update          # prompts y/N
./clusterctl update -y       # non-interactive
./clusterctl update --check  # notify only

On service start the server logs when a newer release is available.


Develop from source

  • Desktop GUI: from cluster-runtime/, run pnpm run dev (Tauri + UI)
    • UI-only: pnpm dev:ui
  • Headless server: pnpm server:build / pnpm server:dev
    • binary: target/release/cluster-runtime-server (no Tauri/GTK deps)
  • Clients: clients/ — VS Code extension + shared HTTP client

Rust workspace (cluster-runtime/)

Crate Role
cluster-runtime-core Shared runtime (API, plugins, Dask/Ray/MPI)
cluster-runtime-server Headless binary + CLI/REPL
clusterctl One-shot CLI (status, engines, update)
cluster-runtime (src-tauri) Tauri GUI (Windows release target)

Python (downloaded per machine — not in the binary)

# Linux
./scripts/Setup-PythonRuntime.sh --dest /var/lib/cluster-runtime/python
export CLUSTER_RUNTIME_PYTHON_DIR=/var/lib/cluster-runtime/python

# Windows (dev / GUI resources)
./scripts/Setup-PythonRuntime.ps1

Or install system Python with venv support (sudo apt install python3 python3-venv python3-pip). Bootstrap prefers the managed Python from python-runtime-manifest.json (currently 3.10.x) and will not pick a bleeding-edge system python3 (e.g. 3.14). If you insist on system Python:

sudo ./scripts/ensure-system-python-deps.sh --series 3.10

The daemon never runs sudo itself (no password prompt in --service mode).

Headless on Ubuntu (LAN + REPL)

pnpm server:build   # from cluster-runtime/
./scripts/Setup-PythonRuntime.sh --dest ./data/python

./target/release/cluster-runtime-server \
  --data-dir ./data \
  --api-addr 0.0.0.0:8129 \
  --public-url http://<server-ip>:8129 \
  --python-dir ./data/python

# Interactive prompt (default):
#   cr> status
#   cr> dask start
#   cr> scheduler set dask
#   cr> peer list
#   cr> help
# Daemon (no REPL): add --no-repl

Flags also include --enable-plugin / --disable-plugin, --scheduler dask|ray|mpi, --python, --node-name, --p2p-bootstrap.


Cutting a release (maintainers)

  1. Bump [workspace.package] version in cluster-runtime/Cargo.toml and version in cluster-runtime/package.json (Tauri reads the latter for the installer).
  2. Tag and push: git tag v0.1.2 && git push origin v0.1.2
  3. GitHub Actions builds:
    • Windows NSIS + updater latest.json (signed)
    • Linux headless .tar.gz + SHA256SUMS
    • Optional Windows headless .zip

Updater signing secrets (one-time)

Generate a keypair (never commit the private key):

cd cluster-runtime
pnpm tauri signer generate -w ~/.tauri/cluster-runtime.key
  • Put the public key in cluster-runtime/src-tauri/tauri.conf.jsonplugins.updater.pubkey
  • Add GitHub Actions secrets:
    • TAURI_SIGNING_PRIVATE_KEY — contents of the private key file
    • TAURI_SIGNING_PRIVATE_KEY_PASSWORD — password if you set one (empty if not)

A keypair was generated during initial setup; the private key may be at %USERPROFILE%\.tauri-cluster-runtime-updater.key on the machine that ran setup. Copy that file’s contents into the TAURI_SIGNING_PRIVATE_KEY secret (it must match the pubkey already in tauri.conf.json). If that file is gone, regenerate and replace the pubkey.

About

Super Compute Cluster at GIKI

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages