Supports adding HTTP headers of the user response to client based on canary routing of header, cookie or query
lianglli opened this issue · 1 comments
lianglli commented
nginx.ingress.kubernetes.io/canary-response-add-header
lianglli commented
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-by-cookie: open2
nginx.ingress.kubernetes.io/canary-by-cookie-value: test1||test2
nginx.ingress.kubernetes.io/canary-response-add-header: test-result:564-29122||test-ingress7:$host
nginx.ingress.kubernetes.io/ssl-redirect: "true"
creationTimestamp: "2023-10-31T06:21:12Z"
generation: 1
name: tengine-ingress-hello-cookie-ing
namespace: default
resourceVersion: "28581881"
uid: 7879b54e-f857-4f3e-bf4f-c549dc5e44bb
spec:
ingressClassName: opensource-ingress
rules:
- host: echo.w1.com
http:
paths:
- backend:
service:
name: tengine-ingress-hello2-service
port:
number: 80
path: /
pathType: Prefix
tls:
- hosts:
- echo.w1.com
secretName: https-server-1
status:
loadBalancer:
ingress:
- {}
$ curl -i -k --cookie "open2=test1" https://echo.w1.com
HTTP/2 200
server: Tengine/3.1.0
date: Wed, 01 Nov 2023 13:25:03 GMT
content-type: text/html
content-length: 140
test-result: 564-29122
test-ingress7: echo.w1.com
last-modified: Tue, 31 Oct 2023 06:16:58 GMT
strict-transport-security: max-age=0
ups-target-key: default-tengine-ingress-hello2-service-80
x-protocol: HTTP/2.0
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
<html><head><title>HTTP Hello World</title></head><body><h1>Hello from tengine-ingress-hello2-deployment-6dd8b6f8d4-4hf77</h1></body></html>