diff --git a/DEPENDENCIES b/DEPENDENCIES index 3b8b2556..b551c35b 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -55,7 +55,7 @@ public/manfred-mac-0-5 https://github.com/getmanfred/mac v0.5 public/manfred-mac-0-4 https://github.com/getmanfred/mac v0.4 public/manfred-mac-0-3 https://github.com/getmanfred/mac v0.3 public/movielabs-omc-2-6 https://github.com/MovieLabs/OMC v2.6-release-1 -public/krakend https://github.com/krakend/krakend-schema 0d815c086b4b4f52666517974ebb080f8429a55a +public/krakend https://github.com/krakend/krakend-schema 3a3c0be25e67b8a693ae1cd011333097fe4e8f8d public/octue-power-curve/v1.0.0.alpha-1 https://github.com/octue/power-curve-schema 1.0.0.alpha-1 public/octue-power-curve/v1.0.0.alpha-2 https://github.com/octue/power-curve-schema 1.0.0.alpha-2 public/usnistgov-mgi-2022-08 https://github.com/usnistgov/mgi-json-schema e5e6aaf3f5eae0d15b88ecbd57f44cc28b035f11 diff --git a/vendor/public/krakend/v2.12/ai/mcp.json b/vendor/public/krakend/v2.12/ai/mcp.json index 1d3dfb56..4482d5b5 100644 --- a/vendor/public/krakend/v2.12/ai/mcp.json +++ b/vendor/public/krakend/v2.12/ai/mcp.json @@ -98,6 +98,22 @@ "image" ] }, + "input_headers": { + "title": "Allowed Headers In", + "description": "Defines the list of all headers allowed to reach the backend when passed.\nBy default, KrakenD won't pass any header from the client to the backend. This list is **case-insensitive**. You can declare headers in lowercase, uppercase, or mixed.\nAn entry `[\"Cookie\"]` forwards all cookies, and a single star element `[\"*\"]` as value forwards everything to the backend (**it's safer to avoid this option**), including cookies. See [headers forwarding](https://www.krakend.io/docs/endpoints/parameter-forwarding/#headers-forwarding)", + "default": [], + "type": "array", + "uniqueItems": true, + "items": { + "title": "Forwarded header", + "examples": [ + "User-Agent", + "Accept", + "*" + ], + "type": "string" + } + }, "input_schema": { "title": "Input JSON Schema", "description": "The input JSON schema to validate the input parameters sent by the AI client. The schema is **essential** in most clients to understand how to pass parameters to the MCP server. The schema must be a valid [2020-12 draft JSON Schema](https://json-schema.org/understanding-json-schema/) object.\n\nSee: https://www.krakend.io/docs/enterprise/ai-gateway/mcp-server/", diff --git a/vendor/public/krakend/v2.12/backend_extra_config.json b/vendor/public/krakend/v2.12/backend_extra_config.json index bcf2dcc1..61b091cc 100644 --- a/vendor/public/krakend/v2.12/backend_extra_config.json +++ b/vendor/public/krakend/v2.12/backend_extra_config.json @@ -120,6 +120,9 @@ "qos/circuit-breaker": { "$ref": "qos/circuit-breaker.json" }, + "qos/circuit-breaker/http": { + "$ref": "qos/circuit-breaker-http.json" + }, "qos/http-cache": { "title": "Backend Cache", "description": "Enable in-memory caching for backend responses for as long as its `Cache-Control` header permits. Only safe methods are cached (GET or HEAD). The final backend URL and the `Vary` headers are used to create the caching key.\n\nSee: https://www.krakend.io/docs/backends/caching/", diff --git a/vendor/public/krakend/v2.12/qos/circuit-breaker-http.json b/vendor/public/krakend/v2.12/qos/circuit-breaker-http.json new file mode 100644 index 00000000..411a4cae --- /dev/null +++ b/vendor/public/krakend/v2.12/qos/circuit-breaker-http.json @@ -0,0 +1,79 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://www.krakend.io/schema/v2.12/qos/circuit-breaker-http.json", + "title": "Circuit Breaker", + "description": "Enterprise only. The HTTP circuit breaker prevents sending more traffic to a backend that is returning status codes that are considered errors.\n\nSee: https://www.krakend.io/docs/enterprise/backends/http-circuit-breaker/", + "type": "object", + "required": [ + "interval", + "timeout", + "max_errors", + "valid_status_codes" + ], + "properties": { + "interval": { + "$id": "#qos/circuit-breaker/http/interval", + "title": "Interval", + "description": "Time window where the errors count, in seconds.\n\nSee: https://www.krakend.io/docs/enterprise/backends/http-circuit-breaker/", + "type": "integer" + }, + "log_status_change": { + "$id": "#qos/circuit-breaker/http/log_status_change", + "title": "Log status change", + "description": "Whether to log the changes of state of this circuit breaker or not.\n\nSee: https://www.krakend.io/docs/enterprise/backends/http-circuit-breaker/", + "default": false, + "type": "boolean" + }, + "max_errors": { + "$id": "#qos/circuit-breaker/http/max_errors", + "title": "Max Errors", + "description": "The **CONSECUTIVE** (not total) number of errors within the `interval` window to consider the backend unhealthy. All HTTP status codes different than `20x` are considered an error, except for the `no-op` encoding that does not evaluate status codes and is limited to connectivity/networking, security and component errors. See the definition of error below.\n\nSee: https://www.krakend.io/docs/enterprise/backends/http-circuit-breaker/", + "examples": [ + 5 + ], + "type": "integer" + }, + "name": { + "$id": "#qos/circuit-breaker/http/name", + "title": "Name", + "description": "A friendly name to follow this circuit breaker's activity in the logs.\n\nSee: https://www.krakend.io/docs/enterprise/backends/http-circuit-breaker/", + "examples": [ + "cb-backend-1" + ], + "type": "string" + }, + "timeout": { + "$id": "#qos/circuit-breaker/http/timeout", + "title": "Timeout", + "description": "For how many seconds the circuit breaker will wait before testing again if the backend is healthy. This number of seconds can also be read as the **minimum cooldown** of the backend interaction.\n\nSee: https://www.krakend.io/docs/enterprise/backends/http-circuit-breaker/", + "examples": [ + 10 + ], + "type": "integer" + }, + "valid_status_codes": { + "$id": "#qos/circuit-breaker/http/valid_status_codes", + "title": "Valid Status Codes", + "description": "A list of HTTP status codes that will be considered successful responses. Any response with a status code not in this list will be counted as an error by the circuit breaker.\n\nSee: https://www.krakend.io/docs/enterprise/backends/http-circuit-breaker/", + "examples": [ + [ + 200, + 201, + 404 + ] + ], + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "integer", + "maximum": 599, + "minimum": 100 + } + } + }, + "patternProperties": { + "^[@$_#]": {} + }, + "additionalProperties": false +}