Describe the work.
Submit a GryviaAIJob with kubectl, the CLI, the dashboard or the API. GPUs, image, priority and an optional queue are plain fields on a custom resource.
Admit it, or hold it.
An opt-in gate checks quotas and hard budgets first. Gang admission and queues come from Kueue, or from the alpha native queue gate: all pods fit together, or the job waits.
Place it where it fits.
The operator filters and scores nodes on GPU type, RDMA, NVLink, free GPUs and memory, and records the choice and the reason in the job status.
Run it. Watch it.
It becomes an Indexed Job or StatefulSet with the distributed environment set. Metrics, checkpoint guards and network telemetry (experimental) show how it is doing.
The parts
Operators you can read.
No separate control plane and no agent mesh to learn. Install with Helm; each piece is a Deployment you can inspect.
AI operator
Reconciles GryviaAIJob: admission, GPU-aware placement, Job or StatefulSet, distributed environment, lifecycle.
GPU operator
Tracks GPU nodes and health, registers nodes from NVIDIA feature-discovery labels.
Quota operator
Per-team quotas, hard budgets, tenants, usage metering and optional per-tenant Kueue queues.
Storage and network operators
Optional: RDMA and SR-IOV, parallel-filesystem CSI backends. Off by default.
Network intelligence
Experimental eBPF flow telemetry and GPU-communication visibility, in its own chart.
API gateway and dashboard
One REST API for the CLI, the SDKs and the web dashboard. HTTPS with a generated certificate.
Opt-in pieces (admission gate, Kueue integration, native queue gate, fabric-aware scoring) are off by default; with them off, behaviour is plain GPU-aware placement.