New to Voyager? Please start here.

Keep Source IP

You can preserve client source IP by setting annotation to true.

For LoadBalancer type ingresses, the actual configuration generated depends on the underlying cloud provider.

  • GCE, GKE, Azure, ACS: Sets ExternalTrafficPolicy to Local for services used to expose HAProxy. See here.
  • AWS: Enables accept-proxy that enforces the use of the PROXY protocol over any connection accepted by any of the sockets declared on the same line.

For NodePort type ingresses, it sets ExternalTrafficPolicy to Local regardless the cloud provider.

Ingress Example

kind: Ingress
  name: test-ingress
  namespace: default
  annotations: "true" "32312"
  - host: voyager.appscode.test
      - path: /foo
          serviceName: test-server
          servicePort: 80

Here health-check-nodeport annotation specifies HealthCheckNodePort field for services used to expose HAProxy. If not specified, it will be auto-assigned by kubernetes. Note that, it is only effective when keep-source-ip is true and ingress type is LoadBalancer.