Skip to content
2023 API Summit Hackathon: Experiment with AI for APIs (August 28 - September 27) Learn More →
Kong Logo | Kong Docs Logo
search
  • We're Hiring!
  • Docs
    • Kong Gateway
      Lightweight, fast, and flexible cloud-native API gateway
      Kong Konnect
      Single platform for SaaS end-to-end connectivity
      Kong Mesh
      Enterprise service mesh based on Kuma and Envoy
      decK
      Helps manage Kong’s configuration in a declarative fashion
      Kong Ingress Controller
      Works inside a Kubernetes cluster and configures Kong to proxy traffic
      Insomnia
      Collaborative API development platform
      Kuma
      Open-source distributed control plane with a bundled Envoy Proxy integration
      Docs Contribution Guidelines
      Want to help out, or found an issue in the docs and want to let us know?
  • API Specs
  • Plugin Hub
    • Explore the Plugin Hub
      View all plugins View all plugins View all plugins arrow image
    • Functionality View all View all arrow image
      View all plugins
      Authentication's icon
      Authentication
      Protect your services with an authentication layer
      Security's icon
      Security
      Protect your services with additional security layer
      Traffic Control's icon
      Traffic Control
      Manage, throttle and restrict inbound and outbound API traffic
      Serverless's icon
      Serverless
      Invoke serverless functions in combination with other plugins
      Analytics & Monitoring's icon
      Analytics & Monitoring
      Visualize, inspect and monitor APIs and microservices traffic
      Transformations's icon
      Transformations
      Transform request and responses on the fly on Kong
      Logging's icon
      Logging
      Log request and response data using the best transport for your infrastructure
  • Support
  • Community
  • Kong Academy
Get a Demo Start Free Trial
Kong Mesh
2.1.x
  • Home icon
  • Kong Mesh
  • Generated
  • Resources
  • TrafficRoute
github-edit-pageEdit this page
report-issueReport an issue
  • Kong Gateway
  • Kong Konnect
  • Kong Mesh
  • Plugin Hub
  • decK
  • Kong Ingress Controller
  • Insomnia
  • Kuma

  • Docs contribution guidelines
  • 2.4.x (latest)
  • 2.3.x
  • 2.2.x
  • 2.1.x
  • 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
enterprise-switcher-icon Switch to OSS
You are browsing documentation for an outdated version. See the latest documentation here.

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?
Too much on your plate? close cta icon
More features, less infrastructure with Kong Konnect. 1M requests per month for free.
Try it for Free
  • 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