smi-spec
smi-spec copied to clipboard
Client Consumption Type
Describe the proposal
There are several roles or personas within service mesh configuration. Each of these performs different tasks.
Mesh Operators (this role is most likely not applicable to SMI and is vendor-specific)
- Admins responsible for the care and feed of the mesh infrastructure
Service Publishers (this is where most service mesh config sits today)
- Traffic routing (label pinning, weighted splits)
- Qos (rate-limiting)
- Default consumption profile(timeouts, reties, and circuit breakers, access, QoS)
- Access Policies
- Attach access to consumers
- metrics
Service Consumers (this would be new - overriding the service publishers definition for the clients' needs)
- Timeouts, reties, circuit breakers
- Faults and time delays
If the client consumption type is an isolated type from service configuration, clients can modify this in an isolated and safe manner without having to copy service config to their namespace, creating config drift issues.
Scope
- [ x] New specification
- [ ] Traffic Access Control
- [ ] Traffic Specs
- [ ] Traffic Metrics
- [ ] Traffic Split
Possible use cases
As the client of a service, I want to set timeouts, retries, circuit breakers, faults, and time delays that only apply to my consumption of the service and no other clients. I want to apply this change without having access to the more sensitive routing and access config used by the service.