fix: api descript
This commit is contained in:
+416
-1
@@ -67,6 +67,36 @@ data:
|
||||
envoy.filters.http.ext_authz:
|
||||
"@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute
|
||||
disabled: true
|
||||
|
||||
- match:
|
||||
path: /api/v1/auth/forgot-password
|
||||
route:
|
||||
cluster: user_api_cluster
|
||||
timeout: 30s
|
||||
typed_per_filter_config:
|
||||
envoy.filters.http.ext_authz:
|
||||
"@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute
|
||||
disabled: true
|
||||
|
||||
- match:
|
||||
path: /api/v1/auth/reset-password
|
||||
route:
|
||||
cluster: user_api_cluster
|
||||
timeout: 30s
|
||||
typed_per_filter_config:
|
||||
envoy.filters.http.ext_authz:
|
||||
"@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute
|
||||
disabled: true
|
||||
|
||||
- match:
|
||||
path: /api/v1/auth/forgot-password/send
|
||||
route:
|
||||
cluster: email_api_cluster
|
||||
timeout: 30s
|
||||
typed_per_filter_config:
|
||||
envoy.filters.http.ext_authz:
|
||||
"@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute
|
||||
disabled: true
|
||||
|
||||
- match:
|
||||
prefix: /api/users
|
||||
@@ -87,7 +117,123 @@ data:
|
||||
envoy.filters.http.ext_authz:
|
||||
"@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute
|
||||
disabled: true
|
||||
|
||||
|
||||
- match:
|
||||
prefix: /api/v1/email
|
||||
route:
|
||||
cluster: email_api_cluster
|
||||
timeout: 30s
|
||||
|
||||
- match:
|
||||
prefix: /api/v1/auth
|
||||
route:
|
||||
cluster: user_api_cluster
|
||||
timeout: 30s
|
||||
|
||||
# ===== 未来按服务拆分路由(服务未落地前先注释) =====
|
||||
# - match:
|
||||
# prefix: /api/v1/games
|
||||
# route:
|
||||
# cluster: game_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/orders
|
||||
# route:
|
||||
# cluster: order_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/players
|
||||
# route:
|
||||
# cluster: player_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/services
|
||||
# route:
|
||||
# cluster: player_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/shops
|
||||
# route:
|
||||
# cluster: shop_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/wallet
|
||||
# route:
|
||||
# cluster: wallet_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/disputes
|
||||
# route:
|
||||
# cluster: dispute_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# safe_regex:
|
||||
# google_re2: {}
|
||||
# regex: "^/api/v1/orders/[^/]+/dispute$"
|
||||
# route:
|
||||
# cluster: dispute_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/reviews
|
||||
# route:
|
||||
# cluster: review_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# safe_regex:
|
||||
# google_re2: {}
|
||||
# regex: "^/api/v1/orders/[^/]+/review(s)?$"
|
||||
# route:
|
||||
# cluster: review_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/posts
|
||||
# route:
|
||||
# cluster: community_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# safe_regex:
|
||||
# google_re2: {}
|
||||
# regex: "^/api/v1/comments/[^/]+/like$"
|
||||
# route:
|
||||
# cluster: community_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# path: /api/v1/search
|
||||
# route:
|
||||
# cluster: search_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# path: /api/v1/recommendations/home
|
||||
# route:
|
||||
# cluster: search_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/notifications
|
||||
# route:
|
||||
# cluster: notification_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/chat
|
||||
# route:
|
||||
# cluster: chat_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/upload
|
||||
# route:
|
||||
# cluster: objectstory_api_cluster
|
||||
# timeout: 30s
|
||||
# - match:
|
||||
# prefix: /api/v1/files
|
||||
# route:
|
||||
# cluster: objectstory_api_cluster
|
||||
# timeout: 30s
|
||||
|
||||
- match:
|
||||
prefix: /api/v1
|
||||
route:
|
||||
cluster: user_api_cluster
|
||||
timeout: 30s
|
||||
|
||||
- match:
|
||||
prefix: /api/email
|
||||
route:
|
||||
@@ -245,12 +391,112 @@ data:
|
||||
rules:
|
||||
- match:
|
||||
path: "/healthz"
|
||||
- match:
|
||||
prefix: "/api/v1"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "OPTIONS"
|
||||
- match:
|
||||
path: "/api/v1/auth/login"
|
||||
- match:
|
||||
path: "/api/v1/auth/register"
|
||||
- match:
|
||||
path: "/api/v1/auth/forgot-password"
|
||||
- match:
|
||||
path: "/api/v1/auth/reset-password"
|
||||
- match:
|
||||
path: "/api/v1/auth/forgot-password/send"
|
||||
- match:
|
||||
path: "/api/v1/email/verification-code/send"
|
||||
|
||||
- match:
|
||||
prefix: "/api/v1/games"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
prefix: "/api/v1/players"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
prefix: "/api/v1/services"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
path: "/api/v1/search"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
path: "/api/v1/recommendations/home"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
prefix: "/api/v1/posts"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
prefix: "/api/v1/reviews"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
path: "/api/v1/shops"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
safe_regex:
|
||||
google_re2: {}
|
||||
regex: "^/api/v1/shops/[^/]+$"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
safe_regex:
|
||||
google_re2: {}
|
||||
regex: "^/api/v1/shops/[^/]+/players$"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
safe_regex:
|
||||
google_re2: {}
|
||||
regex: "^/api/v1/users/[^/]+$"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
safe_regex:
|
||||
google_re2: {}
|
||||
regex: "^/api/v1/users/[^/]+/posts$"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
safe_regex:
|
||||
google_re2: {}
|
||||
regex: "^/api/v1/users/[^/]+/reviews$"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
- match:
|
||||
safe_regex:
|
||||
google_re2: {}
|
||||
regex: "^/api/v1/users/[^/]+/shop$"
|
||||
headers:
|
||||
- name: ":method"
|
||||
exact_match: "GET"
|
||||
|
||||
- match:
|
||||
prefix: "/api/v1"
|
||||
requires:
|
||||
provider_name: juwan_user_jwt
|
||||
|
||||
- match:
|
||||
prefix: "/api/users"
|
||||
requires:
|
||||
@@ -305,6 +551,175 @@ data:
|
||||
socket_address:
|
||||
address: email-api-svc.juwan.svc.cluster.local
|
||||
port_value: 8888
|
||||
|
||||
# ===== 未来服务集群预留(当前未实现,先注释) =====
|
||||
# - name: game_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: game_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: game-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: objectstory_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: objectstory_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: objectstory-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: order_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: order_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: order-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: player_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: player_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: player-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: shop_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: shop_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: shop-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: wallet_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: wallet_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: wallet-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: dispute_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: dispute_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: dispute-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: review_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: review_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: review-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: search_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: search_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: search-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: community_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: community_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: community-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: notification_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: notification_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: notification-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
#
|
||||
# - name: chat_api_cluster
|
||||
# connect_timeout: 2s
|
||||
# type: STRICT_DNS
|
||||
# lb_policy: ROUND_ROBIN
|
||||
# load_assignment:
|
||||
# cluster_name: chat_api_cluster
|
||||
# endpoints:
|
||||
# - lb_endpoints:
|
||||
# - endpoint:
|
||||
# address:
|
||||
# socket_address:
|
||||
# address: chat-api-svc.juwan.svc.cluster.local
|
||||
# port_value: 8888
|
||||
|
||||
- name: authz_adapter_cluster
|
||||
connect_timeout: 0.5s
|
||||
|
||||
Reference in New Issue
Block a user