Registration

Register the given service in the organization. Services in the registry are deduplicated so that the same service running in different clusters are represented as a single entity in the registry. The service returned by this method is the result of deduplicating the service. This API is currently only intended for internal use by the discovery agents. $hide_from_docs

post/v2/organizations/{organization}/services

Request

Path parameters

organizationstring required

Organization name.

Request body

canonicalNamestring

optional canonical name that identify this service.

clusterstring required

Name of the cluster where the service belongs to. This will be used to load the deduplication settings that have been configured for the cluster where the service belongs.

externalAddressesstring[]

For kubernetes services of type load balancer, this field contains the list of lb hostnames or IPs assigned to the service.

hostnamesstring[]

The hostnames by which this service is accessed. Can correspond to the hostname of an internal service or that ones of a virtual host on a gateway.

namespacestring required

Namespace associated with the service. It will be used in deduplication logic.

serviceType'INVALID_TYPE' | 'INTERNAL' | 'LOADBALANCER' | 'MESH_EXTERNAL' required

ServiceType denotes the exposition of a service in the mesh.

  • INTERNAL: A regular service that is not directly exposed to the outside world.
  • LOADBALANCER: A load balancer service running only the proxy as the workload.
  • MESH_EXTERNAL: A mesh external service.
shortNamestring required

Short name for the service, used to uniquely identify it within the organization.

sourcestring required

Source of the service: Kubernetes, Istio, Consul, etc.

spiffeIdsstring[]

List of SPIFFE identities used by the workloads of the service.

state'INVALID_STATE' | 'EXTERNAL' | 'OBSERVED' | 'CONTROLLED' required

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.

  • EXTERNAL: 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: An observed service is a known service that we can have metrics for. For example, a service running the Skywalking agents.
  • CONTROLLED: A controlled service is a service that is part of the mesh and has a proxy we can configure.
subsetsstring[]

Subset denotes a specific version of a service. By default the 'version' label is used to designate subsets of a workload. Known subsets for the service.

Response

A successful response.

fqnstring

Fully-qualified name of the resource. This field is read-only.

displayNamestring

User friendly name for the resource.

etagstring

The etag for the resource. This field is automatically computed and must be sent on every update to the resource to prevent concurrent modifications.

descriptionstring

A description of the resource.

shortNamestring required

Short name for the service, used to uniquely identify it within the organization.

hostnamesstring[]

The hostnames by which this service is accessed. Can correspond to the hostname of an internal service or that ones of a virtual host on a gateway.

subsetsstring[]

Deprecated. Use subset_deployments instead. Subset denotes a specific version of a service. By default the 'version' label is used to designate subsets of a workload. Known subsets for the service.

serviceType'INVALID_TYPE' | 'INTERNAL' | 'LOADBALANCER' | 'MESH_EXTERNAL' required

ServiceType denotes the exposition of a service in the mesh.

  • INTERNAL: A regular service that is not directly exposed to the outside world.
  • LOADBALANCER: A load balancer service running only the proxy as the workload.
  • MESH_EXTERNAL: A mesh external service.
externalAddressesstring[]

For kubernetes services of type load balancer, this field contains the list of lb hostnames or IPs assigned to the service.

state'INVALID_STATE' | 'EXTERNAL' | 'OBSERVED' | 'CONTROLLED' required

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.

  • EXTERNAL: 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: An observed service is a known service that we can have metrics for. For example, a service running the Skywalking agents.
  • CONTROLLED: A controlled service is a service that is part of the mesh and has a proxy we can configure.
canonicalNamestring
spiffeIdsstring[]

List of SPIFFE identities used by the workloads of the service.

Changes

No recorded changes to this operation across all 3 revisions of this API.