Skip to content

Apache APISIX SetHeader Support  #2668

Description

@shareinto

Summary

When I use apisix as the ingress controller, I found that SetHeader is not supported when using canary traffic management

Use Cases

When using APISIX as your ingress controller,
As described in the following yaml file

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: rollout-apisix-canary
spec:
  replicas: 5
  strategy:
    canary:
      canaryService: rollout-apisix-canary-canary
      stableService: rollout-apisix-canary-stable
      trafficRouting:
        managedRoutes:
          - name: set-header-1
        apisix:
          route:
            name: rollouts-apisix-route
            rules:
              - rollouts-apisix
      steps:
        - setWeight: 20
        - setHeaderRoute:
            name: set-header-1
            match:
            - headerName: agent
              headerValue:
                regex: firefox(.*)
        - pause: { }
        - setHeaderRoute:
            name: set-header-1
            match:
            - headerName: agent
              headerValue:
                regex: chrome(.*)
        - pause: { }
        - setWeight: 40
        - setHeaderRoute:
            name: set-header-1
        - pause: {}
  revisionHistoryLimit: 2
  selector:
    matchLabels:
      app: rollout-apisix-canary
  template:
    metadata:
      labels:
        app: rollout-apisix-canary
    spec:
      containers:
        - name: rollouts-demo
          image: argoproj/rollouts-demo:blue
          ports:
            - name: http
              containerPort: 8080
              protocol: TCP
          resources:
            requests:
              memory: 32Mi
              cpu: 5m


Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions