Registered Service
Services in the registry represent logically a service that can be running in different compute platforms and different locations. The same service could be running on different Kubernetes clusters at the same time, on VMS, etc. A service in the registry represents an aggregated and logical view for all those individual services, and provides high-level features such as aggregated metrics.
Port
Port exposed by a service. Registration RPC will complete the instances field by assigning the physical services FQNs.
Field | Description | Validation Rule |
number | uint32 | uint32 = { |
name | string | – |
serviceDeployments | List of string | – |
Service
A service in the registry that represents an aggregated and logical view for all those individual services, and provides high-level features such as aggregated metrics.
Field | Description | Validation Rule |
fqn | string | – |
displayName | string | – |
etag | string | – |
description | string | – |
shortName | string | string = { |
hostnames | List of string | – |
ports | List of tetrateio.api.tsb.registry.v2.Port | – |
subsets | List of string | – |
serviceType | tetrateio.api.tsb.registry.v2.ServiceType | enum = { |
externalAddresses | List of string | – |
state | tetrateio.api.tsb.registry.v2.State | enum = { |
metrics | List of tetrateio.api.tsb.registry.v2.Service.MetricConfig | – |
serviceDeployments | List of tetrateio.api.tsb.registry.v2.Service.ServiceDeployment | – |
subsetDeployments | List of tetrateio.api.tsb.registry.v2.Subset | – |
canonicalName | string | – |
spiffeIds | List of string | – |
MetricConfig
Configuration for metric aggregation
Field | Description | Validation Rule |
name | string | – |
description | string | – |
aggregationKey | string | – |
type | tetrateio.api.tsb.registry.v2.Service.MetricConfig.MetricType | – |
serviceDeployment | string | – |
parentMetric | string | – |
MetricType
MetricType denotes the relation of a metrics with a physical service instance.
Name | Number | Description |
INVALID | 0 | |
SINGLE_INSTANCE | 1 | A single instance metric config belongs to an specific physical service instance. |
SUBSET | 2 | A subset metric config represents subsets across clusters or hostnames across clusters. |
GLOBAL | 3 | A global metric config represents all the physical services. |
ENDPOINT | 4 | An endpoint metric config represents an endpoint across clusters. |
ENDPOINT_INSTANCE | 5 | An endpoint instance metric config represents an endpoint in a specific cluster. |
ServiceDeployment
ServiceDeployment represents the physical service in a cluster.
Field | Description | Validation Rule |
fqn | string | – |
source | string | – |
ServiceType
ServiceType denotes the exposition of a service in the mesh.
Name | Number | Description |
INVALID_TYPE | 0 | |
INTERNAL | 1 | A regular service that is not directly exposed to the outside world. |
LOADBALANCER | 2 | A load balancer service running only the proxy as the workload. |
MESH_EXTERNAL | 3 | A mesh external service. |
State
State denotes how deep is the knowledge of a service by the mesh. Meaning that if a service can be controlled, observed or none of these.
Name | Number | Description |
INVALID_STATE | 0 | |
EXTERNAL | 1 | An external service is a service that is known, but that cannot be observed (we can't get metrics for it) and cannot be controlled. |
OBSERVED | 2 | An observed service is a known service that we can have metrics for. For example, a service running the Skywalking agents. |
CONTROLLED | 3 | A controlled service is a service that is part of the mesh and has a proxy we can configure. |
Subset
Subset exposed by a service. Registration RPC will complete the instances field by assigning the physical services FQNs.
Field | Description | Validation Rule |
name | string | – |
serviceDeployments | List of string | – |