INTEGRATIONS
Forge GPU / AI integration
Forge is the Zyvor AI infrastructure control plane on Kubernetes. When enabled, Aether reads GPU capacity, node inventory, placement recommendations, and cost from the Forge API gateway — so operators can see and reason about GPU/AI infrastructure from the same CLI and dashboard they use for everything else. The integration is read-only: Aether queries Forge, it does not mutate Forge state.
Enabling¶
Set on the Aether CLI or aether serve gateway environment:
| Variable | Meaning |
|---|---|
AETHER_FORGE_URL |
Forge gateway base URL, e.g. http://forge-api-gateway.forge.svc.cluster.local:24631. Unset ⇒ integration off. (FORGE_API_URL is also accepted.) |
AETHER_FORGE_TOKEN |
Optional Authorization: Bearer API key. (FORGE_API_KEY is also accepted.) |
ForgeConfig::from_env() returns "not configured" unless a non-empty URL is set — no
default endpoint is assumed.
CLI¶
aether forge stats # cluster GPU stats: total/available/allocated, utilization, jobs
aether forge nodes # GPU-capable nodes and their GPU counts
aether forge recommend --gpu-type A100 --gpus 2 [--model llama-70b]
# ranked placement recommendation for a GPU/AI request
aether forge cost # GPU cost breakdown
When Forge is unset, commands print Forge is not configured. Set AETHER_FORGE_URL….
REST¶
Viewer role, served by the Aether gateway:
| Endpoint | Returns |
|---|---|
GET /api/forge/stats |
Cluster GPU stats, with configured: true. Returns { "configured": false } when Forge is unset. |
GET /api/forge/nodes |
GPU node list (items[] unwrapped). |
These proxy Forge's GET /api/cluster/stats and GET /api/nodes. Placement
(/api/ai/placement/recommend) and cost (/api/metrics/costs) are available via the CLI.
Web dashboard¶
A read-only GPU / Forge page under Resources shows GPU capacity tiles (Total / Available / Allocated / Utilization %) and a GPU-nodes table. When Forge is not configured it renders a "Forge not configured" empty state instead of erroring.
Deploy wiring¶
scripts/deploy-remote.sh / scripts/lib-deploy-manifest.sh wire Forge into the
in-cluster deployment opt-in:
# Enable with the in-cluster gateway default and a token:
AETHER_FORGE_ENABLE=1 AETHER_FORGE_TOKEN=<key> ./scripts/deploy-remote.sh <host> <user>
# Or point at an explicit gateway:
AETHER_FORGE_URL=http://forge-api-gateway.forge.svc.cluster.local:24631 \
AETHER_FORGE_TOKEN=<key> ./scripts/deploy-remote.sh <host> <user>
AETHER_FORGE_URLis injected as a plain env var (defaults to the in-cluster gateway when onlyAETHER_FORGE_ENABLE=1is given).AETHER_FORGE_TOKEN, when set, is stored in a Kubernetes Secretaether-forge(keytoken) and mounted viasecretKeyRef— never baked into the manifest.
Security: the Forge lab default key
Admin@321is an insecure placeholder. Rotate it before any non-lab use and supply the real key viaAETHER_FORGE_TOKEN.
Local end-to-end¶
# 1. Run Forge locally (see ../forge); note the gateway port (default 24631).
# 2. Point Aether at it and inspect:
AETHER_FORGE_URL=http://127.0.0.1:24631 AETHER_FORGE_TOKEN=<key> aether forge stats
AETHER_FORGE_URL=http://127.0.0.1:24631 AETHER_FORGE_TOKEN=<key> aether forge nodes
A CPU-only cluster correctly reports 0 GPUs — that is a healthy "connected, no GPUs"
result, not an error.