{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Upstream", "type": "object", "description": "An Upstream object represents a virtual hostname and can be used to health-check, circuit-break, and load-balance incoming requests over multiple services.", "properties": { "id": { "type": "string" }, "name": { "type": "string", "description": "A hostname which must be equal to the host of a Service." }, "algorithm": { "type": "string", "description": "The load balancing algorithm to use." }, "hash_on": { "type": "string", "description": "What to use as hashing input when the consistent-hashing algorithm is selected." }, "hash_fallback": { "type": "string", "description": "What to use as hashing input if the primary hash_on does not return a hash." }, "hash_on_header": { "type": "string", "description": "The header name to take the value from as hash input (when hash_on is set to header)." }, "hash_fallback_header": { "type": "string" }, "hash_on_cookie": { "type": "string" }, "hash_on_cookie_path": { "type": "string" }, "hash_on_query_arg": { "type": "string" }, "hash_fallback_query_arg": { "type": "string" }, "hash_on_uri_capture": { "type": "string" }, "hash_fallback_uri_capture": { "type": "string" }, "slots": { "type": "integer", "description": "The number of slots in the load balancer algorithm." }, "tags": { "type": "array" }, "host_header": { "type": "string", "description": "The hostname to be used as Host header when proxying requests through ring-balancer." }, "use_srv_name": { "type": "boolean", "description": "If set, balancer will use SRV hostname as the proxy Host header." }, "created_at": { "type": "integer" }, "updated_at": { "type": "integer" } } }