Routing
CRUD for content-based routing rules through the unified rules surface. See the routing schema for the rule shape and the routing engine for the evaluation model.
Drive these operations with d3x-edgectl (see the admin API overview). Path names below are historical labels for EdgeControl RPCs — they are not HTTP URLs. Every write here is hot-reloaded.
Endpoints
Routing rules are managed on the unified rules surface at /admin/rules, shared with policy, transformation, and rate-limit rules. Each rule carries a type discriminator; for routing it is "routing". See Admin API → Policy for the full surface and the global name-uniqueness rules.
GET /admin/rules?type=routing
Lists routing rules. Without the ?type=routing filter the response interleaves all four rule types, each entry carrying its type.
POST /admin/rules
Creates a routing rule. The body is a RoutingRule with "type": "routing". Rule names are globally unique across all four types: 409 if any rule already owns the name.
GET /admin/rules/{name}
Returns one rule by name. The response carries an ETag for optimistic concurrency.
PUT /admin/rules/{name}
Updates an existing routing rule. Returns 404 if no rule owns the name — this is not an upsert; create through POST instead. If the body declares a type, it must match the existing rule's type. Send the rule's ETag in If-Match for a guarded update.
DELETE /admin/rules/{name}
Deletes one rule by name. Returns 404 if no rule owns the name.
Examples
Canary 5%
A weighted split routes 5% of UDM-targeted traffic to a canary producer. Weights are percentages that must sum to 100.
Cutover via weight
Shift the canary to 100% in one update:
Maintenance window
A time window routes AUSF traffic to a failover producer during a Sunday maintenance slot. Days use full names; times are HH:MM in the rule's timezone.
Sticky sessions
Set sticky_key to pin a session to one producer by a request field, with a TTL on the binding:
Where to go next
- Routing schema — the full
RoutingRuleshape. - Routing engine — priority, weighting, and failover semantics.
- Admin API → Producers and profiles — runtime peer ops.
- Admin API overview — address, auth, and how mutations hot-reload.