Skip to content
Kong Logo | Kong Docs Logo
search
  • We're Hiring!
  • Docs
    • Kong Gateway
    • Kong Konnect
    • Kong Mesh
    • Plugin Hub
    • decK
    • Kubernetes Ingress Controller
    • Insomnia
    • Kuma

    • Docs contribution guidelines
  • Plugin Hub
  • Support
  • Community
  • Kong Academy
Get a Demo Start Free Trial
  • Kong Gateway
  • Kong Konnect
  • Kong Mesh
  • Plugin Hub
  • decK
  • Kubernetes Ingress Controller
  • Insomnia
  • Kuma

  • Docs contribution guidelines
  • 2.1.x (latest)
  • 2.0.x
  • 1.9.x
  • 1.8.x
  • 1.7.x
  • 1.6.x
  • 1.5.x
  • 1.4.x
  • 1.3.x
  • 1.2.x
  • 1.1.x
  • 1.0.x
    • Introduction to Kong Mesh
    • What is Service Mesh?
    • How Kong Mesh works
    • Deployments
    • Version support policy
    • Stability
    • Release notes
    • Installation Options
    • Kubernetes
    • Helm
    • OpenShift
    • Docker
    • Amazon ECS
    • Amazon Linux
    • Red Hat
    • CentOS
    • Debian
    • Ubuntu
    • macOS
    • Windows
    • Explore Kong Mesh with the Kubernetes demo app
    • Explore Kong Mesh with the Universal demo app
    • Standalone deployment
    • Deploy a standalone control plane
    • Multi-zone deployment
    • Deploy a multi-zone global control plane
    • License
    • Overview
    • Data plane proxy
    • Data plane on Kubernetes
    • Data plane on Universal
    • Gateway
    • Zone Ingress
    • Zone Egress
    • CLI
    • GUI
    • Observability
    • Inspect API
    • Kubernetes Gateway API
    • Networking
    • Service Discovery
    • DNS
    • Kong Mesh CNI
    • Transparent Proxying
    • IPv6 support
    • Non-mesh traffic
    • Secure access across Kong Mesh components
    • Secrets
    • Kong Mesh API Access Control
    • API server authentication
    • Data plane proxy authentication
    • Zone proxy authentication
    • Data plane proxy membership
    • Dataplane Health
    • Fine-tuning
    • Control Plane Configuration
    • Upgrades
    • Requirements
    • Introduction
    • General notes about Kong Mesh policies
    • Applying Policies
    • How Kong Mesh chooses the right policy to apply
    • Understanding TargetRef policies
    • Protocol support in Kong Mesh
    • Mesh
    • Mutual TLS
    • Traffic Permissions
    • Traffic Route
    • Traffic Metrics
    • Traffic Trace
    • Traffic Log
    • Locality-aware Load Balancing
    • Fault Injection
    • Health Check
    • Circuit Breaker
    • Proxy Template
    • External Service
    • Retry
    • Timeout
    • Rate Limit
    • Virtual Outbound
    • MeshGateway
    • MeshGatewayRoute
    • Service Health Probes
    • MeshAccessLog (Beta)
    • MeshCircuitBreaker (Beta)
    • MeshFaultInjection (Beta)
    • MeshHealthCheck (Beta)
    • MeshHTTPRoute (Beta)
    • MeshProxyPatch (Beta)
    • MeshRateLimit (Beta)
    • MeshRetry (Beta)
    • MeshTimeout (Beta)
    • MeshTrace (Beta)
    • MeshTrafficPermission (Beta)
    • Overview
    • HashiCorp Vault CA
    • Amazon ACM Private CA
    • cert-manager Private CA
    • OPA policy support
    • MeshOPA (beta)
    • Multi-zone authentication
    • FIPS support
    • Certificate Authority rotation
    • Role-Based Access Control
    • UBI Images
    • Windows Support
    • Auditing
    • HTTP API
    • Annotations and labels in Kubernetes mode
    • Kong Mesh data collection
      • Mesh
      • CircuitBreaker
      • ExternalService
      • FaultInjection
      • HealthCheck
      • MeshGateway
      • MeshGatewayRoute
      • ProxyTemplate
      • RateLimit
      • Retry
      • Timeout
      • TrafficLog
      • TrafficPermission
      • TrafficRoute
      • TrafficTrace
      • VirtualOutbound
      • Dataplane
      • ZoneEgress
      • ZoneIngress
      • kuma-cp
      • kuma-dp
      • kumactl
    • Kuma-cp configuration reference
    • Open source License
    • Contribute to Mesh

github-edit-pageEdit this page

report-issueReport an issue

enterprise-switcher-iconSwitch to OSS

Kong Mesh
2.1.x (latest)
  • Home
  • Kong Mesh
  • Generated
  • Resources
  • TrafficRoute

TrafficRoute

  • sources (required, repeated)

    List of selectors to match data plane proxies that are sources of traffic.

    • match (optional)

      Tags to match, can be used for both source and destinations

  • destinations (required, repeated)

    List of selectors to match services that are destinations of traffic.

    Notice the difference between sources and destinations. While the source of traffic is always a data plane proxy within a mesh, the destination is a service that could be either within or outside of a mesh.

    • match (optional)

      Tags to match, can be used for both source and destinations

  • conf (required)

    Configuration for the route.

    • split (optional, repeated)

      List of destinations with weights assigned to them. When used, “destination” is not allowed.

      • weight (required)

        Weight assigned to that destination. Weights are not percentages. For example two destinations with weights the same weight “1” will receive both same amount of the traffic. 0 means that the destination will be ignored.

      • destination (required)

        Selector to match individual endpoints that comprise that destination.

        Notice that an endpoint can be either inside or outside the mesh. In the former case an endpoint corresponds to a data plane proxy, in the latter case an endpoint is an External Service.

    • loadBalancer (optional)

      Load balancer configuration for given “split” or “destination”

      • roundRobin (optional)

      • leastRequest (optional)

        • choiceCount (optional)

          The number of random healthy hosts from which the host with the fewest active requests will be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.

      • ringHash (optional)

        • hashFunction (optional)

          The hash function used to hash hosts onto the ketama ring. The value defaults to ‘XX_HASH’.

        • minRingSize (optional)

          Minimum hash ring size.

        • maxRingSize (optional)

          Maximum hash ring size.

      • random (optional)

      • maglev (optional)

    • destination (optional)

      One destination that the traffic will be redirected to. When used, “split” is not allowed.

    • http (optional, repeated)

      Configuration of HTTP traffic. Traffic is matched one by one with the order defined in the list. If the request does not match any criteria then “split” or “destination” outside of “http” section is executed.

      • match (optional)

        If request matches against defined criteria then “split” or “destination” is executed.

        • method (optional)

          Method matches method of HTTP request.

          • prefix (optional)

            Prefix matches the string against defined prefix.

          • exact (optional)

            Exact checks that strings are equal to each other.

          • regex (optional)

            Regex checks the string using RE2 syntax. https://github.com/google/re2/wiki/Syntax

        • path (optional)

          Path matches HTTP path.

          • prefix (optional)

            Prefix matches the string against defined prefix.

          • exact (optional)

            Exact checks that strings are equal to each other.

          • regex (optional)

            Regex checks the string using RE2 syntax. https://github.com/google/re2/wiki/Syntax

        • headers (optional)

          Headers match HTTP request headers.

      • modify (optional)

        Modifications to the traffic matched by the match section.

        • path (optional)

          Path modifications.

          • rewritePrefix (optional)

            RewritePrefix rewrites previously matched prefix in match section.

          • regex (optional)

            Regex rewrites prefix using regex with substitution.

            • pattern (required)

              Pattern of the regex using RE2 syntax. https://github.com/google/re2/wiki/Syntax

            • substitution (required)

              Substitution using regex groups. E.g. use \1 as a first matched group.

        • host (optional)

          Host modifications.

          • value (optional)

            Value replaces the host header with given value.

          • fromPath (optional)

            FromPath replaces the host header from path using regex.

            • pattern (required)

              Pattern of the regex using RE2 syntax. https://github.com/google/re2/wiki/Syntax

            • substitution (required)

              Substitution using regex groups. E.g. use \1 as a first matched group.

        • requestHeaders (optional)

          Request headers modifications.

          • add (optional, repeated)

            List of add header operations.

            • name (required)

              Name of the header.

            • value (required)

              Value of the header.

            • append (optional)

              If true, it appends the value if there is already a value. Otherwise, value of existing header will be replaced.

          • remove (optional, repeated)

            List of remove header operations.

            • name (required)

              Name of the header to remove.

        • responseHeaders (optional)

          Response headers modifications.

          • add (optional, repeated)

            List of add header operations.

            • name (required)

              Name of the header.

            • value (required)

              Value of the header.

            • append (optional)

              If true, it appends the value if there is already a value. Otherwise, value of existing header will be replaced.

          • remove (optional, repeated)

            List of remove header operations.

            • name (required)

              Name of the header to remove.

      • split (optional, repeated)

        List of destinations with weights assigned to them. When used, “destination” is not allowed.

        • weight (required)

          Weight assigned to that destination. Weights are not percentages. For example two destinations with weights the same weight “1” will receive both same amount of the traffic. 0 means that the destination will be ignored.

        • destination (required)

          Selector to match individual endpoints that comprise that destination.

          Notice that an endpoint can be either inside or outside the mesh. In the former case an endpoint corresponds to a data plane proxy, in the latter case an endpoint is an External Service.

      • destination (optional)

        One destination that the traffic will be redirected to. When used, “split” is not allowed.

Thank you for your feedback.
Was this page useful?
  • Kong
    THE CLOUD CONNECTIVITY COMPANY

    Kong powers reliable digital connections across APIs, hybrid and multi-cloud environments.

    • Company
    • Customers
    • Events
    • Investors
    • Careers Hiring!
    • Partners
    • Press
    • Contact
  • Products
    • Kong Konnect
    • Kong Gateway
    • Kong Mesh
    • Get Started
    • Pricing
  • Resources
    • eBooks
    • Webinars
    • Briefs
    • Blog
    • API Gateway
    • Microservices
  • Open Source
    • Install Kong Gateway
    • Kong Community
    • Kubernetes Ingress
    • Kuma
    • Insomnia
  • Solutions
    • Decentralize
    • Secure & Govern
    • Create a Dev Platform
    • API Gateway
    • Kubernetes
    • Service Mesh
Star
  • Terms•Privacy
© Kong Inc. 2023