Task v1 API reference

proto source

CachedOperation

CachedOperation defines if request can return it's result from cache or should compute its result live.

FieldTypeLabelDescription
cachedbool

Cluster

Cluster is a group for similiar nodes.

FieldTypeLabelDescription
metadataMetadata
endpointsCluster.EndpointsEntryrepeatedEndpoint addresses of this cluster, if known.

Cluster.EndpointsEntry

FieldTypeLabelDescription
keystring
valueEndpoints

Endpoint

Endpoint is a abtract definition of an endpoint address

FieldTypeLabelDescription
fqdnstringFQDN of this endpoint, if known.
ipstringIP of this endpoint, if known.

Endpoints

FieldTypeLabelDescription
targetsEndpointrepeated

EvictNodeRequest

FieldTypeLabelDescription
definitionServiceDefinition
serviceService
clusterCluster
nodeNode

EvictNodeResponse

EvictServiceRequest

FieldTypeLabelDescription
definitionServiceDefinition
serviceService
clustersClusterrepeated
nodesNoderepeated

EvictServiceResponse

GetClusterHealthRequest

FieldTypeLabelDescription
cachedCachedOperation
serviceService
clusterCluster

GetClusterHealthResponse

GetNodeHealthRequest

FieldTypeLabelDescription
cachedCachedOperation
serviceService
clusterCluster
nodeNode

GetNodeHealthResponse

GetServiceHealthRequest

FieldTypeLabelDescription
cachedCachedOperation
serviceService

GetServiceHealthResponse

InitNodeRequest

FieldTypeLabelDescription
definitionServiceDefinition
serviceService
clusterCluster
nodeNode

InitNodeResponse

InitServiceRequest

FieldTypeLabelDescription
definitionServiceDefinition
serviceService

InitServiceResponse

FieldTypeLabelDescription
dataInitServiceResponse.DataEntryrepeated

InitServiceResponse.DataEntry

FieldTypeLabelDescription
keystring
valuestring

Metadata

Metadata contains fields which all resources share. It allows a resource to be uniquely identified and contain labels and annotations. Name + Namespace can uniquely identify a resource for the current type at present. Uid can uniquely identify a resource for the current type in time and space.

FieldTypeLabelDescription
namestringName of the object.
namespacestringNamespace of the object.
uidstringUID of the object. (not called UUID as kubernetes also uses only the term UID)
labelsMetadata.LabelsEntryrepeatedLabels is a defined key-value map. Per key there is a mutual definition by the key owner. These fields are searchable and thus value content is limited.
annotationsMetadata.AnnotationsEntryrepeatedAnnotations is a unstructured key-value map holding arbitrary metadata.

Metadata.AnnotationsEntry

FieldTypeLabelDescription
keystring
valuestring

Metadata.LabelsEntry

FieldTypeLabelDescription
keystring
valuestring

Node

Node is a member of a cluster.

FieldTypeLabelDescription
metadataMetadata
endpointEndpointEndpoint address of this node, if known.

RebootClusterRequest

FieldTypeLabelDescription
serviceMetadata
clusterMetadata

RebootClusterResponse

RebootNodeRequest

FieldTypeLabelDescription
serviceMetadata
clusterMetadata
nodeMetadata

RebootNodeResponse

RebootServiceRequest

FieldTypeLabelDescription
serviceMetadata

RebootServiceResponse

RemovedNodeRequest

FieldTypeLabelDescription
definitionServiceDefinition
serviceService
clusterCluster
nodeNode

RemovedNodeResponse

RemovedServiceRequest

FieldTypeLabelDescription
definitionServiceDefinition
serviceService

RemovedServiceResponse

Service

Service is an instance of a specific ServiceDefinition.

FieldTypeLabelDescription
metadataMetadata
endpointsService.EndpointsEntryrepeatedEndpoint addresses of this service, if known.

Service.EndpointsEntry

FieldTypeLabelDescription
keystring
valueEndpoints

ServiceDefinition

ServiceDefinition holds constant and settings of a specific version.

FieldTypeLabelDescription
metadataMetadata
VersionstringVersion of this ServiceDefinition.

SetupNodeRequest

FieldTypeLabelDescription
definitionServiceDefinition
serviceService
clusterCluster
nodeNode

SetupNodeResponse

SetupServiceRequest

FieldTypeLabelDescription
definitionServiceDefinition
serviceService
clustersClusterrepeated
nodesNoderepeated

SetupServiceResponse

VersionRequest

VersionResponse

FieldTypeLabelDescription
versionstringVersion of the event API the handler listens to.
handler_namestringName of the handler.
handler_versionstringVersion of the handler.
handler_procedure_typestringProcedureType the handler consumes.

EventTask

EventTask service defines the public APIs for the task handler

Method NameRequest TypeResponse TypeDescription
VersionVersionRequestVersion returns some information about the environment.
InitServiceInitServiceRequestInitService informs about the upcoming new service. There are no resources deployed yet and won't continue until this request has been responded. This is the time where passwords, pre-shared keys, etc. should be created. Not implemented yet, but returned data map can be used as input to initialize the service definition. Not implemented yet, but if there's no operator yet deployed, would deploy it before this message is sent.
SetupServiceSetupServiceRequestSetupService informs that the service and all related resources are deployed and endpoints exist. Resources still can be doing configuration and might not have finished yet. By responding to this request, all credentials and other instance data have to been savely stored.
EvictServiceEvictServiceRequestEvictService informs that the service and all related resources are going to be deleted and won't continue until this request has been responded.
RemovedServiceRemovedServiceRequestRemovedService informs that the service and all related resources have been deleted. Any credentials and other instance data should now be deleted.
InitNodeInitNodeRequestInitNode informs about the upcoming node which is going to be added to a cluster. There are no resources deployed yet and won't continue until this request has been responded.
SetupNodeSetupNodeRequestSetupNode informs that the node has been deployed and its endpoint exists. Can still be doing configuration and might not have finished yet.
EvictNodeEvictNodeRequestEvictNode informs that the node is going to be deleted and won't continue until this request has been responded.
RemovedNodeRemovedNodeRequestRemovedNode informs that the node has been removed. Any data related to this node should now be deleted.
GetServiceHealthGetServiceHealthRequestGetServiceHealth should return the current health state of the service.
GetClusterHealthGetClusterHealthRequestGetClusterHealth should return the current health state of the cluster.
GetNodeHealthGetNodeHealthRequestGetNodeHealth should return the current health state of the node.
RebootServiceRebootServiceRequestRebootService requests the whole service has to be rebooted. The implementation should reboot application-aware.
RebootClusterRebootClusterRequestRebootCluster requests a whole cluster has to be rebooted. The implementation should reboot application-aware.
RebootNodeRebootNodeRequestRebootNode requests a node has to be rebooted. The implementation should reboot application-aware.

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)