megaease / easemesh

A service mesh implementation for connecting, control, and observe services in spring-cloud.
https://megaease.com/easemesh
Apache License 2.0
505 stars 61 forks source link

Support traffic access control #93

Closed localvar closed 2 years ago

localvar commented 2 years ago

In #58 , we wish to support service mesh interface. However, there are gaps between the concepts used by Easemesh and the concepts in SMI which are difficult to span.

But, it is possible to implement some SMI features in Easemesh by an alternative solution, and this issue is created to track the design and implementation of a feature to Traffic Access Control.

Differences between SMI Traffic Access Control and Easemesh Traffic Access Control are:

Below is an example spec of TrafficTarget in Easemesh:

---
kind: HTTPRouteGroup
metadata:
  name: the-routes
spec:
  matches:
  - name: metrics
    pathRegex: "/metrics"
    methods:
    - GET
  - name: everything
    pathRegex: ".*"
    methods: ["*"]

---
kind: TrafficTarget
metadata:
  name: path-specific
spec:
  destination:
    kind: Service
    name: order
  rules:
  - kind: HTTPRouteGroup
    name: the-routes
    matches:
    - metrics
  sources:
  - kind: Service
    name: monitor
zhao-kun commented 2 years ago

Closed due to https://github.com/megaease/easegress/pull/308