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
This is only available for Observed and Controlled services. |
– |
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 |
– |
ServiceDeployment
ServiceDeployment represents the physical service in a cluster.
Field | Description | Validation Rule |
---|---|---|
fqn |
string |
– |
source |
string |
– |
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 |
– |
MetricType
MetricType denotes the relation of a metrics with a physical service instance.
Field | 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. |
ServiceType
ServiceType denotes the exposition of a service in the mesh.
Field | 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.
Field | 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. |