mirror of
https://github.com/hanzoai/gateway.git
synced 2026-11-02 23:52:23 +00:00
Cloud-api now speaks /v1/* natively after the /api/ → /v1/ normalization in hanzoai/cloud. The hostProxyMiddleware was still rewriting api.hanzo.ai/v1/* → cloud-api/api/* which 404s now. Swap the rewrite proxy for a newPassthroughProxy that forwards the path unchanged. Without this fix, api.hanzo.ai/v1/chat (and every /v1/* endpoint) fell through to cloud-api's StaticFilter and returned the SPA HTML instead of JSON completions.
7847 lines
175 KiB
JSON
7847 lines
175 KiB
JSON
{
|
|
"$schema": "https://gateway.hanzo.ai/schema/v3.json",
|
|
"version": 3,
|
|
"name": "Hanzo API Gateway",
|
|
"port": 8080,
|
|
"timeout": "120s",
|
|
"cache_ttl": "0s",
|
|
"output_encoding": "no-op",
|
|
"extra_config": {
|
|
"router": {
|
|
"return_error_msg": true
|
|
},
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip"
|
|
},
|
|
"telemetry/logging": {
|
|
"level": "INFO",
|
|
"prefix": "[GATEWAY]",
|
|
"syslog": false,
|
|
"stdout": true
|
|
},
|
|
"security/cors": {
|
|
"allow_origins": [
|
|
"https://hanzo.ai",
|
|
"https://*.hanzo.ai",
|
|
"https://hanzo.id",
|
|
"https://zoo.id",
|
|
"https://lux.id",
|
|
"https://pars.id",
|
|
"https://*.zoo.ngo",
|
|
"https://*.lux.network"
|
|
],
|
|
"allow_methods": [
|
|
"GET",
|
|
"POST",
|
|
"PUT",
|
|
"PATCH",
|
|
"DELETE",
|
|
"OPTIONS"
|
|
],
|
|
"allow_headers": [
|
|
"Origin",
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Requested-With",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-Request-ID",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"expose_headers": [
|
|
"Content-Length",
|
|
"X-Request-ID"
|
|
],
|
|
"max_age": "12h"
|
|
},
|
|
"telemetry/opentelemetry": {
|
|
"service_name": "gateway",
|
|
"service_version": "2.13.0",
|
|
"trace_sample_rate": 0.1,
|
|
"metric_reporting_period": 30,
|
|
"exporters": {
|
|
"otlp": [
|
|
{
|
|
"name": "hanzo-o11y",
|
|
"host": "otel-collector.hanzo.svc",
|
|
"port": 4317,
|
|
"use_http": false,
|
|
"disable_metrics": false,
|
|
"disable_traces": false
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"endpoints": [
|
|
{
|
|
"endpoint": "/v1/chat",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/chat",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/chat/completions",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/chat/completions",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/completions",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/completions",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/models",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/models",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/messages",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/messages",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/embeddings",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/embeddings",
|
|
"host": [
|
|
"https://inference.do-ai.run"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/images/generations",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/images/generations",
|
|
"host": [
|
|
"https://inference.do-ai.run"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/audio/transcriptions",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/audio/transcriptions",
|
|
"host": [
|
|
"https://inference.do-ai.run"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/audio/speech",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/audio/speech",
|
|
"host": [
|
|
"https://inference.do-ai.run"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/async-invoke",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/async-invoke",
|
|
"host": [
|
|
"https://inference.do-ai.run"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/async-invoke/{request_id}/status",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/async-invoke/{request_id}/status",
|
|
"host": [
|
|
"https://inference.do-ai.run"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/async-invoke/{request_id}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/async-invoke/{request_id}",
|
|
"host": [
|
|
"https://inference.do-ai.run"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/cloud/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/cloud/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/cloud/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/cloud/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/ai/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/ai/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/ai/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/ai/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://cloud-api.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op",
|
|
"extra_config": {
|
|
"github.com/hanzoai/gateway/zap": {
|
|
"node_id": "gateway",
|
|
"peer_addr": "cloud-api.hanzo.svc.cluster.local:9651",
|
|
"no_discovery": true,
|
|
"timeout_ms": 120000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/subscriptions",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/subscriptions",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/subscriptions",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/subscriptions",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/subscriptions/{id}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/subscriptions/{id}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/subscriptions/{id}",
|
|
"method": "PATCH",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/subscriptions/{id}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/subscriptions/{id}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/subscriptions/{id}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/subscriptions/{id}/promotion",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/subscriptions/{id}/promotion",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/plans",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/plans",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/plans/{id}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/plans/{id}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/auth/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 1000,
|
|
"client_max_rate": 50,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://iam.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"endpoint": "/v1/auth/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://iam.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/auth/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 1000,
|
|
"client_max_rate": 50,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://iam.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"endpoint": "/auth/{path}",
|
|
"method": "PUT",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 1000,
|
|
"client_max_rate": 50,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://iam.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"endpoint": "/auth/{path}",
|
|
"method": "PATCH",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 1000,
|
|
"client_max_rate": 50,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://iam.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"endpoint": "/auth/{path}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 1000,
|
|
"client_max_rate": 50,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://iam.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"endpoint": "/v1/auth/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://iam.hanzo.svc.cluster.local:8000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/analytics/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://analytics.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/analytics/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://analytics.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/analytics/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://analytics.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/analytics/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://analytics.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/operative/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://operative.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/operative/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://operative.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/operative/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://operative.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/operative/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://operative.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/agents/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://agents.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/agents/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://agents.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/agents/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://agents.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/agents/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://agents.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/console/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://console.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/console/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://console.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/console/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://console.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/console/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://console.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/infra/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://visor.hanzo.svc.cluster.local:19000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/infra/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://visor.hanzo.svc.cluster.local:19000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/infra/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://visor.hanzo.svc.cluster.local:19000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/infra/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://visor.hanzo.svc.cluster.local:19000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/chat/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://chat.hanzo.svc.cluster.local:3080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/chat/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://chat.hanzo.svc.cluster.local:3080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/chat/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://chat.hanzo.svc.cluster.local:3080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/chat/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://chat.hanzo.svc.cluster.local:3080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/base/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://base.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/base/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://base.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/base/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://base.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/base/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://base.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/platform/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://platform.hanzo.svc.cluster.local:3000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/platform/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://platform.hanzo.svc.cluster.local:3000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/platform/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://platform.hanzo.svc.cluster.local:3000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/platform/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://platform.hanzo.svc.cluster.local:3000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/functions/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://functions.hanzo.svc.cluster.local:8070"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/functions/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://functions.hanzo.svc.cluster.local:8070"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/functions/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://functions.hanzo.svc.cluster.local:8070"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/functions/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://functions.hanzo.svc.cluster.local:8070"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/search/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://search.hanzo.svc.cluster.local:7700"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/search/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://search.hanzo.svc.cluster.local:7700"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/search/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://search.hanzo.svc.cluster.local:7700"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/search/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://search.hanzo.svc.cluster.local:7700"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/vector/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://vector.hanzo.svc.cluster.local:6333"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/vector/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://vector.hanzo.svc.cluster.local:6333"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/vector/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://vector.hanzo.svc.cluster.local:6333"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/vector/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://vector.hanzo.svc.cluster.local:6333"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/kms/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://kms.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/kms/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://kms.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/kms/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://kms.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/kms/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://kms.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/kms/{path}",
|
|
"method": "PATCH",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://kms.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/kms/{path}",
|
|
"method": "PATCH",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://kms.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/kms/{path}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://kms.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/kms/{path}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://kms.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/web3/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://bootnode-api.bootnode.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/web3/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://bootnode-api.bootnode.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/web3/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://bootnode-api.bootnode.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/web3/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://bootnode-api.bootnode.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/web3/{path}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://bootnode-api.bootnode.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/web3/{path}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://bootnode-api.bootnode.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/web3/{path}",
|
|
"method": "PATCH",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://bootnode-api.bootnode.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/web3/{path}",
|
|
"method": "PATCH",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/{path}",
|
|
"host": [
|
|
"http://bootnode-api.bootnode.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/bot/health",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/health",
|
|
"host": [
|
|
"http://bot-gateway.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/bot/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://bot-gateway.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/bot/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://bot-gateway.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/bot/ws",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/ws",
|
|
"host": [
|
|
"http://bot-gateway.hanzo.svc.cluster.local:18790"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/bot/health",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/health",
|
|
"host": [
|
|
"http://bot-gateway.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/bot/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://bot-gateway.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/bot/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://bot-gateway.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/bot/ws",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/ws",
|
|
"host": [
|
|
"http://bot-gateway.hanzo.svc.cluster.local:18790"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"qos/ratelimit/router": {
|
|
"max_rate": 5000,
|
|
"client_max_rate": 100,
|
|
"strategy": "ip",
|
|
"every": "1m"
|
|
},
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/team/_accounts/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-account.hanzo.svc.cluster.local:3000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/team/_accounts/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-account.hanzo.svc.cluster.local:3000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/team/_accounts/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-account.hanzo.svc.cluster.local:3000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/team/_accounts/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-account.hanzo.svc.cluster.local:3000"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/team/_collaborator/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-collaborator.hanzo.svc.cluster.local:3078"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/team/_collaborator/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-collaborator.hanzo.svc.cluster.local:3078"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/team/_transactor/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-transactor.hanzo.svc.cluster.local:3333"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/team/_transactor/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-transactor.hanzo.svc.cluster.local:3333"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/team/_rekoni/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-rekoni.hanzo.svc.cluster.local:4004"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/team/_rekoni/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/{path}",
|
|
"host": [
|
|
"http://team-rekoni.hanzo.svc.cluster.local:4004"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/balance",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/balance",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/deposit",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/deposit",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/credit",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/credit",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/transactions",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/transactions",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/invoices",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/invoices",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/payment-methods",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/payment-methods",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/payment-methods",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/payment-methods",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/payment-methods/{id}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/payment-methods/{id}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/payment-methods/{id}/default",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/payment-methods/{id}/default",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/usage",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/usage",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/spend-alerts",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/spend-alerts",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/spend-alerts",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/spend-alerts",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/spend-alerts/{id}",
|
|
"method": "PATCH",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/spend-alerts/{id}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/spend-alerts/{id}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/spend-alerts/{id}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/discount/validate",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/discount/validate",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/credit-grants",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/credit-grants",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/credit-balance",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/credit-balance",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/payment",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/payment",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/portal/overview",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/portal/overview",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/meters",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/meters",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/meter-events/summary",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/meter-events/summary",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/accounts",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/accounts",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/accounts",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/accounts",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/accounts/{id}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/accounts/{id}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/accounts/{id}/members",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/accounts/{id}/members",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/accounts/{id}/members",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/accounts/{id}/members",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/accounts/{id}/members/{mid}",
|
|
"method": "PATCH",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/accounts/{id}/members/{mid}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/billing/accounts/{id}/members/{mid}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/v1/billing/accounts/{id}/members/{mid}",
|
|
"host": [
|
|
"http://commerce.hanzo.svc.cluster.local:8001"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/pricing",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/pricing",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/pricing/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/pricing/{path}",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/pricing/model/{name}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/pricing/model/{name}",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/pricing/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/pricing/{path}",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/pricing",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/pricing",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/pricing/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/pricing/{path}",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/pricing/model/{name}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/pricing/model/{name}",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/pricing/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/pricing/{path}",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/plans",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/plans",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/cloud",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/cloud",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/gpu",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/gpu",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/tools",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/tools",
|
|
"host": [
|
|
"http://pricing.hanzo.svc.cluster.local:8080"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/pubsub/varz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/varz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/pubsub/varz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/varz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/pubsub/connz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/connz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/pubsub/connz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/connz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/pubsub/subsz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/subsz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/pubsub/subsz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/subsz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/pubsub/jsz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/jsz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/pubsub/jsz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/jsz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/pubsub/healthz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/healthz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"endpoint": "/pubsub/healthz",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/healthz",
|
|
"host": [
|
|
"http://pubsub.hanzo.svc.cluster.local:8222"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"endpoint": "/health",
|
|
"method": "GET",
|
|
"output_encoding": "json",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/healthz",
|
|
"host": [
|
|
"http://localhost:8080"
|
|
],
|
|
"encoding": "json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"endpoint": "/",
|
|
"method": "GET",
|
|
"output_encoding": "json",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/healthz",
|
|
"host": [
|
|
"http://localhost:8080"
|
|
],
|
|
"encoding": "json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"endpoint": "/v1/world/{path}",
|
|
"method": "GET",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/world/{path}",
|
|
"host": [
|
|
"http://world.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/world/{path}",
|
|
"method": "POST",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/world/{path}",
|
|
"host": [
|
|
"http://world.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/world/{path}",
|
|
"method": "PUT",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/world/{path}",
|
|
"host": [
|
|
"http://world.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/world/{path}",
|
|
"method": "PATCH",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/world/{path}",
|
|
"host": [
|
|
"http://world.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"endpoint": "/v1/world/{path}",
|
|
"method": "DELETE",
|
|
"input_headers": [
|
|
"Authorization",
|
|
"Content-Type",
|
|
"Accept",
|
|
"X-Request-ID",
|
|
"X-Org-Id",
|
|
"X-Project-Id",
|
|
"X-User-Id",
|
|
"X-Roles"
|
|
],
|
|
"output_encoding": "no-op",
|
|
"backend": [
|
|
{
|
|
"url_pattern": "/v1/world/{path}",
|
|
"host": [
|
|
"http://world.hanzo.svc.cluster.local:80"
|
|
],
|
|
"encoding": "no-op"
|
|
}
|
|
],
|
|
"extra_config": {
|
|
"auth/validator": {
|
|
"alg": "RS256",
|
|
"jwk_url": "https://hanzo.id/.well-known/jwks",
|
|
"issuer": "https://hanzo.id",
|
|
"disable_jwk_security": false,
|
|
"propagate_claims": [
|
|
[
|
|
"sub",
|
|
"X-User-Id"
|
|
],
|
|
[
|
|
"owner",
|
|
"X-Org-Id"
|
|
],
|
|
[
|
|
"roles",
|
|
"X-Roles"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|