Skip to content

Proto

The protocol between server and workers: one WebSocket at /proto with binary frames from the Proto derive. Sessions pass through version agreement, handshake, authorization, capabilities, then the job loop.

flowchart LR
    conn[Connection] --> cap[Capabilities and Assignment]
    cap --> jobs[Jobs]
    jobs --> transfer[Transfer]
    conn --> fed[Federation]
  • Connection

    Handshake, authorization, server restarts, server stop and cache sessions.

  • Capabilities and Assignment

    Worker capabilities, job offers and pull-based assignment.

  • Jobs

    Flake and build jobs, progress reports, failure kinds and aborts.

  • Transfer

    NAR uploads and downloads, logs, download progress and credentials.

  • Messages

    Every message on /proto with its fields and lane.

  • Federation

    gradient-proxy: a pool of workers joined to a server as one worker.