kind: TrafficTarget apiVersion: access.smi-spec.io/v1alpha3 metadata: name: bookstore namespace: bookstore spec: destination: kind: ServiceAccount name: bookstore namespace: bookstore rules: - kind: HTTPRouteGroup name: bookstore-service-routes matches: - buy-a-book - books-bought sources: - kind: ServiceAccount name: bookbuyer namespace: bookbuyer --- apiVersion: specs.smi-spec.io/v1alpha4 kind: HTTPRouteGroup metadata: name: bookstore-service-routes namespace: bookstore spec: matches: - name: books-bought pathRegex: /books-bought methods: - GET headers: - "user-agent": ".*-http-client/*.*" - "client-app": "bookbuyer" - name: buy-a-book pathRegex: ".*a-book.*new" methods: - GET --- kind: TrafficTarget apiVersion: access.smi-spec.io/v1alpha3 metadata: name: bookstore-access-bookwarehouse namespace: bookwarehouse spec: destination: kind: ServiceAccount name: bookwarehouse namespace: bookwarehouse rules: - kind: HTTPRouteGroup name: bookwarehouse-service-routes matches: - restock-books sources: - kind: ServiceAccount name: bookstore namespace: bookstore --- apiVersion: specs.smi-spec.io/v1alpha4 kind: HTTPRouteGroup metadata: name: bookwarehouse-service-routes namespace: bookwarehouse spec: matches: - name: restock-books methods: - POST --- kind: TrafficTarget apiVersion: access.smi-spec.io/v1alpha3 metadata: name: mysql namespace: bookwarehouse spec: destination: kind: ServiceAccount name: mysql namespace: bookwarehouse rules: - kind: TCPRoute name: mysql sources: - kind: ServiceAccount name: bookwarehouse namespace: bookwarehouse --- apiVersion: specs.smi-spec.io/v1alpha4 kind: TCPRoute metadata: name: mysql namespace: bookwarehouse spec: matches: ports: - 3306