Description
Proposal
Would like to use a HTTP header in the HTTP request to determine which service to route to using http header based routing pattern.
Use-Case
Imagine hundreds of customers each with 100s of different domains pointed to their own HttpScaledObject.
Rather than maintaining the 100 domains on HTTPScaledObject
, you send a custom header X-Customer-Id: customer-id-1
and register the hosts as customer-id-1
, customer-id-2
.
This means your upstream can add/update/delete host names without needing to update HTTPScaledObjects or extra k8s ingress/services.
Is this a feature you are interested in implementing yourself?
Yes
Anything else?
Can see this being implemented like
- An env variable on the interceptor,
KEDA_HTTP_ADDTL_ROUTING_HEADER=X-Customer-Id
when blank or missing from the request, it still uses the HTTP Host header
This gives you an easy way to opt into the feature and have fallback/main site domains.
apiVersion: http.keda.sh/v1alpha1
kind: HTTPScaledObject
spec:
hosts:
- my-main-site.example.com
- customer-id-1
replicas:
max: 1
min: 0
While your remaining domains might look like
- custom-domain-1.com
- ...
- custom-domain-99.com
- *.svc.domain.com
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done