Document the admin console and the worker setup wizard

This commit is contained in:
Emil
2026-08-03 00:24:06 +03:00
parent 46645b8730
commit c11756c3d8
5 changed files with 74 additions and 27 deletions
+16 -3
View File
@@ -33,8 +33,10 @@ The two halves of the project:
resource reservation, and allowlist-driven workload discovery.
- **An operator UI** served by the coordinator: the control room, a workload
library page, a workload-agnostic "new computation" form whose controls come
from each workload's own `UIElement` declarations, and this documentation
site at `/ui/docs/`.
from each workload's own `UIElement` declarations, an **admin console**
(`/ui/admin`) for cluster operators — system/storage/health, jobs,
worker trust, users and worker keys, workload enable/disable, metrics and
the worker token — and this documentation site at `/ui/docs/`.
## Quick start
@@ -90,10 +92,21 @@ curl -L -o coordinator https://github.com/emil28092005/SciMesh/releases/latest/d
chmod +x coordinator
```
- **worker-agent** is installed separately and joins an existing coordinator:
- **worker-agent** is installed separately and joins an existing coordinator.
Point its **local setup wizard** at the cluster — no need to have the
coordinator on this machine:
```bash
curl -fsSL https://raw.githubusercontent.com/emil28092005/SciMesh/main/install.sh | bash -s worker
worker-agent setup # opens http://127.0.0.1:12700 in your browser
```
The wizard collects the coordinator URL and token (or worker key), runs a
preflight check, saves the configuration under `~/.scimesh-worker/` and
starts the worker as a background process — with a live status page and log.
Everything can also be done by hand:
```bash
export COORDINATOR_URL=http://COORDINATOR_HOST:8080
export WORKER_AUTH_TOKEN=<worker token from the coordinator>
export WORK_DIR=~/scimesh-worker
+14 -3
View File
@@ -50,10 +50,18 @@ BOOTSTRAP_ADMIN_PASSWORD='choose-a-strong-password' \
docker compose -f docker-compose.yml -f docker-compose.users.yml up -d --build
```
Then install workers on any machines with Python:
Then install workers on any machines with Python. The worker's own setup
wizard walks through the rest — URL, token or worker key, work directory —
and starts the worker for you:
```bash
curl -fsSL https://raw.githubusercontent.com/emil28092005/SciMesh/main/install.sh | bash -s worker
worker-agent setup # local wizard at http://127.0.0.1:12700
```
Or configure by hand:
```bash
export COORDINATOR_URL=http://COORDINATOR_HOST:8080
export WORKER_AUTH_TOKEN="$COORDINATOR_TOKEN" # the coordinator's shared token
export WORK_DIR=~/scimesh-worker
@@ -112,8 +120,11 @@ worker-agent
The binary applies its embedded schema migrations on startup
(`AUTO_MIGRATE=false` to disable when you manage them out of band).
4. **Attach workers** as in Option A. The UI login uses the userservice
session; the workers use `COORDINATOR_TOKEN`.
4. **Attach workers** as in Option A (or via `worker-agent setup`). The UI
login uses the userservice session; the workers use `COORDINATOR_TOKEN` or
a worker key. The coordinator's admin console (`/ui/admin`) shows the
whole cluster: jobs, worker fleet with trust controls, accounts and keys,
workload switches and metrics.
## Notes