smi-spec icon indicating copy to clipboard operation
smi-spec copied to clipboard

Client Consumption Type

Open jwebb49 opened this issue 4 years ago • 0 comments

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.

jwebb49 avatar Jul 22 '20 18:07 jwebb49