Spot Capacity Orchestrator  ·  View 11 of 32  ·  3 · Structure

Integration Surface

Every interface the orchestrator exposes or calls, with protocol and direction.

Editable source SVG draw.io All views
Who calls it Node agents bundle fetch Contract pipeline Forgejo Actions Operators and reports Grafana · CLI Platform Spot Capacity Orchestrator control plane · per region What it reaches Private cloud APIs Nova · Ironic · Blazar · prices Scheduler APIs Kubernetes · slurmrestd Record Kafka · audit service HTTPS · SVID signed publish OIDC REST · budgeted watch · poll events · outbox Integration Surface — Every Interface In and Out Application we own Person or role External / third party Queue / topic synchronous event / async Workloads never call the orchestrator. They talk to the agent on their own node and to their own checkpoint bucket. v 1.0 · owner Compute Platform Architecture · date 2026-09

Inbound

  • Agents fetch bundles over HTTPS with their SVID; the contract pipeline publishes signed bundles; operators and reports use OIDC. Workloads have no route to the control plane at all.

Outbound

  • Private cloud: Nova and Ironic to launch and delete, Placement and quotas for headroom, Blazar for committed reservations and the forward calendar, and the rate card feed. Every mutating call draws from a regional token budget.
  • Schedulers: a watch on the Kubernetes API and a poll of slurmrestd for pending work. Record: lifecycle events to Kafka and capacity actions through a transactional outbox to the audit log service.

The provider contract

  • Five things the private cloud team commits to: a hard notice ≥ 120 s before deletion, delivered to the node in ≤ 1 s; an advisory when it arrives; a rate card per pool every 5 minutes; reservation and forward-capacity data; and a reclaim API the exercise job can call. If any one is missing, this design degrades to what the requirement calls the no-notice case.