Skip to content
This repository has been archived by the owner on Feb 14, 2024. It is now read-only.

Latest commit

 

History

History
219 lines (109 loc) · 7.94 KB

docs.md

File metadata and controls

219 lines (109 loc) · 7.94 KB

Protocol Documentation

Table of Contents

Top

api/v1/version_service.proto

Koor Version Service

This defines the messages and services of the Koor Version Service, which is used to retreive information about product and dependency versions.

DetailedProductVersions

Represents a map of products to detailed versions, which include images or helm charts.

Field Type Label Description
koor_operator DetailedVersion The detailed Koor Operator version.
ksd DetailedVersion The detailed Koor Storage Distribution version.
ceph DetailedVersion The detailed Ceph version.

DetailedVersion

Defines a detailed version of a product, which includes a container image or a helm chart.

Field Type Label Description
version string The product version, must be a valid semver.
image_uri string The URI of the container image.
image_hash string The hash of the container image.
helm_repository string The URI of the helm repository.
helm_chart string The name of the helm chart in the repository.

OperatorRequest

Represents an operator request message.

Field Type Label Description
versions ProductVersions A map of products to current versions.

OperatorResponse

Represents an operator response message.

Field Type Label Description
versions DetailedProductVersions A map of products to the newest available versions with deiails.

ProductVersions

Represents a map of products to version strings.

Field Type Label Description
kube string Kubernetes version, must be a valid semver.
koor_operator string Koor Operator version, must be a valid semver.
ksd string Koor Storage Distribution version, must be a valid semver.
ceph string Ceph version, must be a valid semver.

VersionMatrix

Represents a map of products with all available images or helm chart versions

Field Type Label Description
koor_operator VersionMatrix.KoorOperatorEntry repeated A map detailing the available Koor Operator versions. The keys are version strings and the values are version details.
ksd VersionMatrix.KsdEntry repeated A map detailing the available Koor Storage Distribution versions. The keys are version strings and the values are version details.
ceph VersionMatrix.CephEntry repeated A map detailing the available Ceph versions. The keys are version strings and the values are version details.

VersionMatrix.CephEntry

Field Type Label Description
key string
value DetailedVersion

VersionMatrix.KoorOperatorEntry

Field Type Label Description
key string
value DetailedVersion

VersionMatrix.KsdEntry

Field Type Label Description
key string
value DetailedVersion

VersionService

The main service of the Koor Version Service.

Method Name Request Type Response Type Description
Operator OperatorRequest OperatorResponse Used by the Koor operator to get the latest version of each depencency product based on the current product versions.

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)