51 lines
2.3 KiB
YAML
51 lines
2.3 KiB
YAML
groups:
|
|
- id: service
|
|
prefix: service
|
|
brief: >
|
|
A service instance.
|
|
attributes:
|
|
- id: name
|
|
type: string
|
|
required: always
|
|
brief: >
|
|
Logical name of the service.
|
|
note: >
|
|
MUST be the same for all instances of horizontally scaled services.
|
|
examples: ["shoppingcart"]
|
|
- id: namespace
|
|
type: string
|
|
brief: >
|
|
A namespace for `service.name`.
|
|
note: >
|
|
A string value having a meaning that helps to distinguish a group of services,
|
|
for example the team name that owns a group of services.
|
|
`service.name` is expected to be unique within the same namespace.
|
|
If `service.namespace` is not specified in the Resource then `service.name`
|
|
is expected to be unique for all services that have no explicit namespace defined
|
|
(so the empty/unspecified namespace is simply one more valid namespace).
|
|
Zero-length namespace string is assumed equal to unspecified namespace.
|
|
examples: ["Shop"]
|
|
- id: instance.id
|
|
type: string
|
|
required: always
|
|
brief: >
|
|
The string ID of the service instance.
|
|
note: >
|
|
MUST be unique for each instance of the same `service.namespace,service.name` pair
|
|
(in other words `service.namespace,service.name,service.id` triplet MUST be globally unique).
|
|
The ID helps to distinguish instances of the same service that exist at the same time
|
|
(e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent
|
|
and stay the same for the lifetime of the service instance, however it is acceptable that
|
|
the ID is ephemeral and changes during important lifetime events for the service
|
|
(e.g. service restarts).
|
|
If the service has no inherent unique ID that can be used as the value of this attribute
|
|
it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID
|
|
(services aiming for reproducible UUIDs may also use Version 5, see RFC 4122
|
|
for more recommendations).
|
|
examples: ["627cc493-f310-47de-96bd-71410b7dec09"]
|
|
- id: version
|
|
type: string
|
|
brief: >
|
|
The version string of the service API or implementation.
|
|
examples: ["2.0.0"]
|