Xeonr Developer Docs

Read Volume File

POST
/containers.api.v1.VolumeService/ReadVolumeFile

Streams a file's bytes in 64 KiB frames from offset; length 0 reads to the end. The last frame has eof set. Returns FailedPrecondition if the volume has never been mounted (its node is not known yet) or its node is unreachable, and Unimplemented when the volume file API is not configured.

Access: any role in the volume's namespace, or a platform admin.

Authorization

BearerAuth
AuthorizationBearer <token>

A namespace-scoped API key (cpk_…) for machines, or a Xeonr Auth OIDC token for humans. The key's namespace and role are pinned server-side.

In: header

Header Parameters

Connect-Protocol-Version?number

Define the version of the Connect protocol

Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/connect+json

volumeId?string
Length1 <= length <= 64
path?string
Lengthlength <= 4096
offset?string

validate:skip any offset is accepted; past EOF reads nothing

Formatint64
length?string

Zero reads to the end. validate:skip zero means to the end; no ceiling (the response is streamed)

Formatint64
[key: string]?never

Response Body

application/connect+json

application/connect+json

curl -X POST "https://containers.xeonr.io/containers.api.v1.VolumeService/ReadVolumeFile" \  -H "Connect-Protocol-Version: 1" \  -H "Connect-Timeout-Ms: 1000" \  -H "Content-Type: application/connect+json" \  -d ''
{
  "data": "string",
  "offset": "string",
  "eof": true
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}