← Back to Datawire Open Source Documentation

Headers

Ambassador can route to target services based on HTTP headers with the headers and regex_headers annotations. Multiple mappings with different annotations can be applied to construct more complex routing rules.

The headers annotation

The headers attribute is a dictionary of header: value pairs. Ambassador will only allow requests that match the specified header: value pairs to reach the target service.

You can also set the value of a header to true to test for the existence of a header.

A basic example

---
apiVersion: ambassador/v0
kind:  Mapping
name:  qotm_mapping
prefix: /qotm/
headers:
  x-qotm-mode: canary
  x-random-header: datawire
service: qotm

will allow requests to /qotm/ to succeed only if the x-qotm-mode header has the value canary and the x-random-header has the value datawire.

A conditional example

---
apiVersion: ambassador/v0
kind:  Mapping
name:  qotm_mode_mapping
prefix: /qotm/
headers:
  x-qotm-mode: true
service: qotm-mode
---
apiVersion: ambassador/v0
kind:  Mapping
name:  qotm_regular_mapping
prefix: /qotm/
service: qotm-regular

will send requests that contain the x-qotm-mode header to the qotm-mode target, while routing all other requests to the qotm-regular target.

results matching ""

    No results matching ""