ashupednekar / ashupednekar/liteginx

Feature: Istio-style header-based routing

Open
#5 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Summary

Add support for routing requests to different upstream backends based on **HTTP request headers**, similar to [Istio VirtualService HTTPMatchRequest](https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPMatchRequest) patterns (match on specific header names/values, optional prefixes, regex, etc.).

## Motivation

- Common need for canary releases, A/B tests, tenant isolation, and API versioning via headers (e.g. `X-Canary: true`, `X-Tenant-Id`, `Accept-Version`).
- Aligns with how service meshes and ingress controllers express traffic splitting without path-only rules.

## Possible scope (discussion)

- Match rules: exact header value, prefix, presence (header exists), perhaps case normalization for header names.
- Precedence: order of rules, default/fallback route when no header matches.
- Interaction with existing host/path routing; document semantics when multiple rules could match.

## Acceptance criteria (draft)

- [ ] Configurable header match conditions associated with a route or upstream.
- [ ] Clear precedence and fallback behavior documented.
- [ ] Tests covering typical Istio-like match cases.

---

*Feel free to adjust scope based on project goals and config format.*

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing host/path routing implementation and configuration format, then compare the proposed exact, prefix, presence, and regex header matches with the project's current semantics. Define rule precedence, fallback behavior, and interaction with host/path routing before adding tests for the agreed Istio-like cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.