Embeddable, dynamically configurable HTTP routing, load-balancing, and resilience library.
Rust
55
359 commits
updated Aug 25, 2025
An xDS dynamically-configurable API load-balancer library.
NOTE: As of August 2025, we're no longer actively working on
junction-client. If you're interested in using the client or actively maintaining it, please reach out to us at info at junctionlabs.io.
Junction is a library that allows you to dynamically configure application level HTTP routing, load balancing, and resilience by writing a few lines of configuration and dynamically pushing it to your client. Imagine all of the features of a rich HTTP proxy that's as easy to work with as the HTTP library you're already using.
Junction does that by pulling endpoints and configuration from an xDS control plane, as follows:
┌─────────────────────┐
│ Client Service │
├──────────┬──────────┤ ┌───────────┐
│ Existing │ Junction ◄────┤ xDS │
│ HTTP │ Client │ │ Control │
│ Library │ Library │ │ Plane │
└────┬─┬───┴──────────┘ └─────▲─────┘
│ │ │
│ └──────────┐ │
┌────▼────┐ ┌────▼────┐ ┌─────┴─────┐
│ Your │ │ Your │ │ K8s API │
│ Service │ │ Service │ │ Server │
└─────────┘ └─────────┘ └───────────┘
Junction is developed by Junction Labs.
Today, Junction allows you to dynamically configure:
On our roadmap are features like:
Today the only xDS server the junction-client regression tests against is
ezbake, developed by Junction Labs. ezbake is a simple xDS control plane for
Junction, which uses the gateway_api to support dynamic configuration.
ezbake runs in a Kubernetes cluster, watches its running services, and creates
the xds configuration to drive the Junction Client.
Junction is alpha software, developed in the open. We're still iterating rapidly on our client facing API, and our integration into xDS. At this stage you should expect occasional breaking changes as the library evolves.
The Junction client is Apache 2.0 licensed.
Rust
87.7%
Python
9.5%
TypeScript
2.4%
Embeddable, dynamically configurable HTTP routing, load-balancing, and resilience library.
Rust
55
359 commits
updated Aug 25, 2025
An xDS dynamically-configurable API load-balancer library.
NOTE: As of August 2025, we're no longer actively working on
junction-client. If you're interested in using the client or actively maintaining it, please reach out to us at info at junctionlabs.io.
Junction is a library that allows you to dynamically configure application level HTTP routing, load balancing, and resilience by writing a few lines of configuration and dynamically pushing it to your client. Imagine all of the features of a rich HTTP proxy that's as easy to work with as the HTTP library you're already using.
Junction does that by pulling endpoints and configuration from an xDS control plane, as follows:
┌─────────────────────┐
│ Client Service │
├──────────┬──────────┤ ┌───────────┐
│ Existing │ Junction ◄────┤ xDS │
│ HTTP │ Client │ │ Control │
│ Library │ Library │ │ Plane │
└────┬─┬───┴──────────┘ └─────▲─────┘
│ │ │
│ └──────────┐ │
┌────▼────┐ ┌────▼────┐ ┌─────┴─────┐
│ Your │ │ Your │ │ K8s API │
│ Service │ │ Service │ │ Server │
└─────────┘ └─────────┘ └───────────┘
Junction is developed by Junction Labs.
Today, Junction allows you to dynamically configure:
On our roadmap are features like:
Today the only xDS server the junction-client regression tests against is
ezbake, developed by Junction Labs. ezbake is a simple xDS control plane for
Junction, which uses the gateway_api to support dynamic configuration.
ezbake runs in a Kubernetes cluster, watches its running services, and creates
the xds configuration to drive the Junction Client.
Junction is alpha software, developed in the open. We're still iterating rapidly on our client facing API, and our integration into xDS. At this stage you should expect occasional breaking changes as the library evolves.
The Junction client is Apache 2.0 licensed.
Rust
87.7%
Python
9.5%
TypeScript
2.4%