Files
gateway/configs/hanzo/gateway.json
zeekay 9b8e6cb1ef fix(gateway): pass /v1/* through to cloud-api as-is (no /api/ rewrite)
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.
2026-04-21 18:44:12 -07:00

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"
]
]
}
}
}
]
}