Skip to main content
The example routes one exact path to a dedicated backend and sends all remaining traffic to a default backend.

Overview

Path-based routing lets you split traffic across backends based on the URL path, without changing your application or DNS. At a high level, this setup:
  1. Defines an exact path match for a specific route (e.g., /login)
  2. Adds a catch-all prefix rule for all other traffic
  3. Applies both rules in a single HTTPProxy resource

Prerequisites

  • datumctl installed and authenticated
  • A valid Project
Verify access:

Configuration Steps

Step 1: Set Variables


Step 2: Apply Path Routing Configuration

The /login path is matched exactly. All other requests fall through to the catch-all / rule. Place the exact match rule before the catch-all. Rules are evaluated in order, and a prefix of / matches everything.
A rule can list up to 16 backends with a weight on each to split traffic. This guide uses one backend per rule.

Verification

Exact Path Match

Expected: request reaches auth-origin.example.

Negative Test — Exact Is Truly Exact

Expected: /login/reset does not match the Exact /login rule and falls through to the catch-all backend. Verify this to confirm the exact match boundary is working correctly.

Catch-All

Expected: request reaches web-origin.example.

Cleanup


Best Practices

  • Always include a PathPrefix / catch-all so no requests are dropped unexpectedly
  • Place more-specific rules (e.g., Exact, longer prefixes) before less-specific ones
  • Use distinct, descriptive rule name values — they appear in logs and aid debugging
  • Test both the matching path and a near-miss (e.g., /login/reset) to confirm exact boundaries

Summary

  • Path-based routing is configured using a HTTPProxy resource at networking.datumapis.com/v1alpha
  • Use type: Exact for single endpoints like /login
  • Use type: PathPrefix with value / as a catch-all for all remaining traffic
  • Rule order matters — place specific matches before the catch-all
Last modified on October 23, 2026