Skip to content

Latest commit

 

History

History
1076 lines (542 loc) · 27.9 KB

provider.md

File metadata and controls

1076 lines (542 loc) · 27.9 KB

Protobuf Documentation

Table of Contents

Top

akash/manifest/v2beta1/group.proto

Group

Group store name and list of services

Field Type Label Description
name string
services Service repeated

Top

akash/manifest/v2beta1/httpoptions.proto

ServiceExposeHTTPOptions

ServiceExposeHTTPOptions

Field Type Label Description
max_body_size uint32
read_timeout uint32
send_timeout uint32
next_tries uint32
next_timeout uint32
next_cases string repeated

Top

akash/manifest/v2beta1/serviceexpose.proto

ServiceExpose

ServiceExpose stores exposed ports and hosts details

Field Type Label Description
port uint32 port on the container
external_port uint32 port on the service definition
proto string
service string
global bool
hosts string repeated
http_options ServiceExposeHTTPOptions
ip string The name of the IP address associated with this, if any
endpoint_sequence_number uint32 The sequence number of the associated endpoint in the on-chain data

Top

akash/manifest/v2beta1/service.proto

Service

Service stores name, image, args, env, unit, count and expose list of service

Field Type Label Description
name string
image string
command string repeated
args string repeated
env string repeated
resources akash.base.v1beta2.ResourceUnits
count uint32
expose ServiceExpose repeated
params ServiceParams

ServiceParams

ServiceParams

Field Type Label Description
storage StorageParams repeated

StorageParams

StorageParams

Field Type Label Description
name string
mount string
read_only bool

Top

akash/manifest/v2beta2/group.proto

Group

Group store name and list of services

Field Type Label Description
name string
services Service repeated

Top

akash/manifest/v2beta2/httpoptions.proto

ServiceExposeHTTPOptions

ServiceExposeHTTPOptions

Field Type Label Description
max_body_size uint32
read_timeout uint32
send_timeout uint32
next_tries uint32
next_timeout uint32
next_cases string repeated

Top

akash/manifest/v2beta2/serviceexpose.proto

ServiceExpose

ServiceExpose stores exposed ports and hosts details

Field Type Label Description
port uint32 port on the container
external_port uint32 port on the service definition
proto string
service string
global bool
hosts string repeated
http_options ServiceExposeHTTPOptions
ip string The name of the IP address associated with this, if any
endpoint_sequence_number uint32 The sequence number of the associated endpoint in the on-chain data

Top

akash/manifest/v2beta2/service.proto

Service

Service stores name, image, args, env, unit, count and expose list of service

Field Type Label Description
name string
image string
command string repeated
args string repeated
env string repeated
resources akash.base.v1beta3.Resources
count uint32
expose ServiceExpose repeated
params ServiceParams
credentials ServiceImageCredentials

ServiceImageCredentials

Credentials to fetch image from registry

Field Type Label Description
host string
email string
username string
password string

ServiceParams

ServiceParams

Field Type Label Description
storage StorageParams repeated

StorageParams

StorageParams

Field Type Label Description
name string
mount string
read_only bool

Top

akash/provider/v1/status.proto

BidEngineStatus

BidEngineStatus

Field Type Label Description
orders uint32

ClusterStatus

ClusterStatus

Field Type Label Description
leases Leases
inventory Inventory

Inventory

Inventory

Field Type Label Description
cluster akash.inventory.v1.Cluster
reservations Reservations

Leases

Leases

Field Type Label Description
active uint32

ManifestStatus

ManifestStatus

Field Type Label Description
deployments uint32

Reservations

Reservations

Field Type Label Description
pending ReservationsMetric
active ReservationsMetric

ReservationsMetric

ReservationsMetric

Field Type Label Description
count uint32
resources ResourcesMetric

ResourcesMetric

ResourceMetrics

Field Type Label Description
cpu k8s.io.apimachinery.pkg.api.resource.Quantity
memory k8s.io.apimachinery.pkg.api.resource.Quantity
gpu k8s.io.apimachinery.pkg.api.resource.Quantity
ephemeral_storage k8s.io.apimachinery.pkg.api.resource.Quantity
storage ResourcesMetric.StorageEntry repeated

ResourcesMetric.StorageEntry

Field Type Label Description
key string
value k8s.io.apimachinery.pkg.api.resource.Quantity

Status

Status

Field Type Label Description
errors string repeated
cluster ClusterStatus
bid_engine BidEngineStatus
manifest ManifestStatus
public_hostnames string repeated
timestamp google.protobuf.Timestamp

Top

akash/provider/v1/service.proto

ProviderRPC

ProviderRPC defines the RPC server for provider

Method Name Request Type Response Type Description HTTP Verb Endpoint
GetStatus .google.protobuf.Empty Status GetStatus defines a method to query provider state buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE buf:lint:ignore RPC_RESPONSE_STANDARD_NAME GET /v1/status
StreamStatus .google.protobuf.Empty Status stream Status defines a method to stream provider state buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE buf:lint:ignore RPC_RESPONSE_STANDARD_NAME

Top

akash/inventory/v1/memory.proto

Memory

Memory reports Memory inventory details

Field Type Label Description
quantity ResourcePair
info MemoryInfo repeated

MemoryInfo

MemoryInfo reports Memory details

Field Type Label Description
vendor string
type string
total_size string
speed string

Top

akash/inventory/v1/cpu.proto

CPU

CPU reports CPU inventory details

Field Type Label Description
quantity ResourcePair
info CPUInfo repeated

CPUInfo

CPUInfo reports CPU details

Field Type Label Description
id string
vendor string
model string
vcores uint32

Top

akash/inventory/v1/cluster.proto

Cluster

Cluster reports inventory across entire cluster

Field Type Label Description
nodes Node repeated
storage Storage repeated

Top

akash/inventory/v1/resources.proto

NodeResources

NodeResources reports node inventory details

Field Type Label Description
cpu CPU
memory Memory
gpu GPU
ephemeral_storage ResourcePair
volumes_attached ResourcePair
volumes_mounted ResourcePair

Top

akash/inventory/v1/node.proto

Node

Node reports node inventory details

Field Type Label Description
name string
resources NodeResources
capabilities NodeCapabilities

NodeCapabilities

NodeCapabilities extended list of node capabilities

Field Type Label Description
storage_classes string repeated

Top

akash/inventory/v1/resourcepair.proto

ResourcePair

ResourcePair to extents resource.Quantity to provide total and available units of the resource

Field Type Label Description
allocatable k8s.io.apimachinery.pkg.api.resource.Quantity
allocated k8s.io.apimachinery.pkg.api.resource.Quantity
attributes akash.base.v1beta3.Attribute repeated

Top

akash/inventory/v1/gpu.proto

GPU

GPUInfo reports GPU inventory details

Field Type Label Description
quantity ResourcePair
info GPUInfo repeated

GPUInfo

GPUInfo reports GPU details

Field Type Label Description
vendor string
vendor_id string
name string
modelid string
interface string
memory_size string

Top

akash/inventory/v1/storage.proto

Storage

Storage reports Storage inventory details

Field Type Label Description
quantity ResourcePair
info StorageInfo

StorageInfo

StorageInfo reports Storage details

Field Type Label Description
class string
iops string

Top

akash/inventory/v1/service.proto

ClusterRPC

ClusterRPC defines the RPC server of cluster

Method Name Request Type Response Type Description HTTP Verb Endpoint
QueryCluster .google.protobuf.Empty Cluster QueryCluster defines a method to query hardware state of the cluster buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE buf:lint:ignore RPC_RESPONSE_STANDARD_NAME GET /v1/inventory
StreamCluster .google.protobuf.Empty Cluster stream StreamCluster defines a method to stream hardware state of the cluster buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE buf:lint:ignore RPC_RESPONSE_STANDARD_NAME

NodeRPC

NodeRPC defines the RPC server of node

Method Name Request Type Response Type Description HTTP Verb Endpoint
QueryNode .google.protobuf.Empty Node QueryNode defines a method to query hardware state of the node buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE buf:lint:ignore RPC_RESPONSE_STANDARD_NAME GET /v1/node
StreamNode .google.protobuf.Empty Node stream StreamNode defines a method to stream hardware state of the node buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE buf:lint:ignore RPC_RESPONSE_STANDARD_NAME

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)