{ "versionInfo": "00000001", "resources": [ { "@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration", "name": "8080", "virtualHosts": [ { "name": "db", "domains": [ "db.ingress.*", "db.ingress.*:8080" ], "routes": [ { "match": { "prefix": "/prefix" }, "route": { "cluster": "prefix.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "path": "/exact" }, "route": { "cluster": "exact.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "safeRegex": { "googleRe2": { }, "regex": "/regex" } }, "route": { "cluster": "regex.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "headers": [ { "name": "x-debug", "presentMatch": true } ] }, "route": { "cluster": "hdr-present.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "headers": [ { "name": "x-debug", "presentMatch": true, "invertMatch": true } ] }, "route": { "cluster": "hdr-not-present.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "headers": [ { "name": "x-debug", "exactMatch": "exact" } ] }, "route": { "cluster": "hdr-exact.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "headers": [ { "name": "x-debug", "prefixMatch": "prefix" } ] }, "route": { "cluster": "hdr-prefix.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "headers": [ { "name": "x-debug", "suffixMatch": "suffix" } ] }, "route": { "cluster": "hdr-suffix.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "headers": [ { "name": "x-debug", "safeRegexMatch": { "googleRe2": { }, "regex": "regex" } } ] }, "route": { "cluster": "hdr-regex.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "headers": [ { "name": ":method", "safeRegexMatch": { "googleRe2": { }, "regex": "GET|PUT" } } ] }, "route": { "cluster": "just-methods.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "headers": [ { "name": "x-debug", "exactMatch": "exact" }, { "name": ":method", "safeRegexMatch": { "googleRe2": { }, "regex": "GET|PUT" } } ] }, "route": { "cluster": "hdr-exact-with-method.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "queryParameters": [ { "name": "secretparam1", "stringMatch": { "exact": "exact" } } ] }, "route": { "cluster": "prm-exact.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "queryParameters": [ { "name": "secretparam2", "stringMatch": { "safeRegex": { "googleRe2": { }, "regex": "regex" } } } ] }, "route": { "cluster": "prm-regex.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/", "queryParameters": [ { "name": "secretparam3", "presentMatch": true } ] }, "route": { "cluster": "prm-present.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/" }, "route": { "cluster": "nil-match.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/" }, "route": { "cluster": "empty-match-1.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/" }, "route": { "cluster": "empty-match-2.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } }, { "match": { "prefix": "/prefix" }, "route": { "cluster": "prefix-rewrite-1.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "prefixRewrite": "/" } }, { "match": { "prefix": "/prefix" }, "route": { "cluster": "prefix-rewrite-2.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "prefixRewrite": "/nested/newlocation" } }, { "match": { "prefix": "/timeout" }, "route": { "cluster": "req-timeout.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "timeout": "33s" } }, { "match": { "prefix": "/idle-timeout" }, "route": { "cluster": "idle-timeout.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "idleTimeout": "33s" } }, { "match": { "prefix": "/retry-connect" }, "route": { "cluster": "retry-connect.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "retryPolicy": { "retryOn": "connect-failure", "numRetries": 15 } } }, { "match": { "prefix": "/retry-reset" }, "route": { "cluster": "retry-reset.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "retryPolicy": { "retryOn": "reset", "numRetries": 15 } } }, { "match": { "prefix": "/retry-codes" }, "route": { "cluster": "retry-codes.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "retryPolicy": { "retryOn": "retriable-status-codes", "numRetries": 15, "retriableStatusCodes": [ 401, 409, 451 ] } } }, { "match": { "prefix": "/retry-all" }, "route": { "cluster": "retry-all.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "retryPolicy": { "retryOn": "5xx,gateway-error,reset,connect-failure,envoy-ratelimited,retriable-4xx,refused-stream,cancelled,deadline-exceeded,internal,resource-exhausted,unavailable,retriable-status-codes", "retriableStatusCodes": [ 401, 409, 451 ] } } }, { "match": { "prefix": "/split-3-ways" }, "route": { "weightedClusters": { "clusters": [ { "name": "big-side.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "weight": 9550 }, { "name": "goldilocks-side.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "weight": 400 }, { "name": "lil-bit-side.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", "weight": 50 } ], "totalWeight": 10000 } } }, { "match": { "path": "/header-manip" }, "route": { "cluster": "header-manip.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" }, "requestHeadersToAdd": [ { "header": { "key": "request", "value": "bar" }, "append": true }, { "header": { "key": "bar", "value": "baz" }, "append": false } ], "requestHeadersToRemove": [ "qux" ], "responseHeadersToAdd": [ { "header": { "key": "response", "value": "bar" }, "append": true }, { "header": { "key": "bar", "value": "baz" }, "append": false } ], "responseHeadersToRemove": [ "qux" ] }, { "match": { "prefix": "/" }, "route": { "cluster": "db.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul" } } ], "requestHeadersToAdd": [ { "header": { "key": "foo", "value": "bar" }, "append": true }, { "header": { "key": "bar", "value": "baz" }, "append": false } ], "requestHeadersToRemove": [ "qux" ], "responseHeadersToAdd": [ { "header": { "key": "foo", "value": "bar" }, "append": true }, { "header": { "key": "bar", "value": "baz" }, "append": false } ], "responseHeadersToRemove": [ "qux" ] } ], "validateClusters": true } ], "typeUrl": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration", "nonce": "00000001" }