MeshGatewayRoute

  • selectors (required, repeated)

    Selectors is used to match this resource to MeshGateway listener.

    • match (optional)

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

  • conf (required)

    Conf specifies the route configuration.

    • tcp (optional)

      • rules (required, repeated)

        • backends (required, repeated)

          • weight (required)

            Weight is the proportion of requests this backend will receive when a forwarding rules specifies multiple backends. Traffic weight is computed as “weight/sum(all weights)”.

            A weight of 0 means that the destination will be ignored.

          • destination (required)

            Destination is a selector to match the individual endpoints to which the gateway will forward.

    • http (optional)

      • hostnames (optional, repeated)

        Hostnames lists the server names for which this route is valid. The hostnames are matched against the TLS Server Name Indication extension if this is a TLS session. They are also matched against the HTTP host (authority) header in the client’s HTTP request.

      • rules (required, repeated)

        Rules specifies how the gateway should match and process HTTP requests.

        • matches (required, repeated)

          Matches are checked in order. If any match is successful, the rule is selected (OR semantics).

          • path (optional)

            • match (optional, enum)

              • EXACT

              • PREFIX

              • REGEX

            • value (required)

              Value is the path to match against. For EXACT and PREFIX match types, it must be a HTTP URI path. For the REGEX match type, it must be a RE2 regular expression. Note that a PREFIX match succeeds only if the prefix is the the entire path or is followed by a /. I.e. a prefix of the path in terms of path elements.

          • method (optional, enum)

            • NONE

            • CONNECT

            • DELETE

            • GET

            • HEAD

            • OPTIONS

            • PATCH

            • POST

            • PUT

            • TRACE

          • headers (optional, repeated)

            • match (optional, enum)

              • EXACT

              • REGEX

              • ABSENT

              • PRESENT

            • name (required)

              Name of the HTTP header containing the value to match.

            • value (required)

              Value that the HTTP header value should be matched against.

          • queryParameters (optional, repeated)

            • match (optional, enum)

              • EXACT

              • REGEX

            • name (required)

              Name of the query parameter containing the value to match.

            • value (required)

              Value that the query parameter value should be matched against.

        • filters (optional, repeated)

          Filters are request processing steps that are applied to matched requests.

          If the redirect filter is specified, it must be the only filter given.

          • requestHeader (optional)

            • set (optional, repeated)

              • name (required)

              • value (required)

            • add (optional, repeated)

              • name (required)

              • value (required)

            • remove (optional, repeated)

          • mirror (optional)

            • backend (required)

              Backend denotes the service to which requests will be mirrored. The “weight” field must not be given.

              • weight (required)

                Weight is the proportion of requests this backend will receive when a forwarding rules specifies multiple backends. Traffic weight is computed as “weight/sum(all weights)”.

                A weight of 0 means that the destination will be ignored.

              • destination (required)

                Destination is a selector to match the individual endpoints to which the gateway will forward.

            • percentage (required)

              Percentage specifies the percentage of requests to mirror to the backend (in the range 0.0 - 100.0, inclusive).

          • redirect (optional)

            • scheme (required)

              The scheme for the redirect URL. Usually “http” or “https”.

            • hostname (required)

              The hostname to redirect to.

            • port (optional)

              The port to redirect to.

            • statusCode (required)

              The HTTP response status code. This must be in the range 300 - 308.

            • path (optional)

              • replaceFull (optional)

              • replacePrefixMatch (optional)

                Note that rewriting “/prefix” to “/” will do the right thing:

                • the path “/prefix” is rewritten to “/”
                • the path “/prefix/rest” is rewritten to “/rest”
              • hostToBackendHostname (optional)

                Option to indicate that during forwarding, the host header should be swapped with the hostname of the upstream host chosen by the Envoy’s cluster manager. BE AWARE:

                • it’s mutually exclusive with request_header filter which explicitly replaces “host” header
          • rewrite (optional)

            • replaceFull (optional)

            • replacePrefixMatch (optional)

              Note that rewriting “/prefix” to “/” will do the right thing:

              • the path “/prefix” is rewritten to “/”
              • the path “/prefix/rest” is rewritten to “/rest”
            • hostToBackendHostname (optional)

              Option to indicate that during forwarding, the host header should be swapped with the hostname of the upstream host chosen by the Envoy’s cluster manager. BE AWARE:

              • it’s mutually exclusive with request_header filter which explicitly replaces “host” header
          • responseHeader (optional)

            • set (optional, repeated)

              • name (required)

              • value (required)

            • add (optional, repeated)

              • name (required)

              • value (required)

            • remove (optional, repeated)

        • backends (optional, repeated)

          Backends is the set of services to which the gateway will forward requests. If a redirect filter is specified, no backends are allowed. Otherwise, at least one backend must be given.

          • weight (required)

            Weight is the proportion of requests this backend will receive when a forwarding rules specifies multiple backends. Traffic weight is computed as “weight/sum(all weights)”.

            A weight of 0 means that the destination will be ignored.

          • destination (required)

            Destination is a selector to match the individual endpoints to which the gateway will forward.