Freedom251 › Kubernetes Ingress Controllers
BFE Ingress Controller

What BFE Ingress Controller is
BFE Ingress Controller is an open-source Layer 7 load balancer derived from Baidu’s proprietary Baidu Front End. It is designed for self-hosted deployment and supports HTTP, HTTPS, SPDY, HTTP/2, WebSocket, TLS, gRPC, and FastCGI traffic; HTTP/3 is planned. Operators define content-based routing rules with a domain-specific language. BFE supports global and distributed load balancing, zone-aware balancing, protection against zone-level failures, and overload protection. Its built-in plugin framework can add traffic management, security, and observability functions. Each tenant has a separate configuration that remains invisible to other tenants. Operational visibility includes subsystem metrics, troubleshooting and analysis logs, and distributed tracing. The project lists integration with mainstream Layer 4 load balancers and ecosystem projects such as Kubernetes, Prometheus, Jaeger, and Fluentd. BFE is written in Go; the vendor describes Go as memory-safe and says BFE is immune to buffer overflow vulnerabilities. The software is licensed under Apache 2.0 and is a CNCF sandbox project. Documentation provides installation paths using source, binaries, Go, Snap, and Docker. Users can seek help through GitHub issues, GitHub Discussions, or a CNCF Slack channel.
Who it suits
BFE suits teams that need a self-hosted Layer 7 load balancer with content-based routing, multiple balancing options, and tenant-isolated configuration. It also fits operators who want plugin support and integrations with Kubernetes and observability projects.
What it does well
- Open-source under the Apache 2.0 License.
- Supports HTTP, HTTP/2, WebSocket, gRPC, and FastCGI.
- Provides global, distributed, and zone-aware load balancing.
- Tenant configurations are isolated from other tenants.
- Includes metrics, logs, and distributed tracing.
- Offers source, binary, Go, Snap, and Docker installation paths.
What to know first
- HTTP/3 is planned rather than listed as supported.
- Deployment is self-hosted.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Open source | Apache 2.0 license · no paid tiers stated | Free |
As bfe-networks.net lists them, read 15 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the BFE website and documentation.
- Choose an installation path: source, binary, Go, Snap, or Docker.
- Deploy BFE in a self-hosted environment.
- Define content-based routing rules using its domain-specific language.
- Use the project’s GitHub issues, GitHub Discussions, or CNCF Slack channel for questions.
BFE Ingress Controller is an open-source Layer 7 load balancer for teams running their own ingress and traffic-routing infrastructure. It pairs content-based rules with tenant isolation, resilience controls, and observability. Its strongest fit is an operator who wants those capabilities in a self-hosted system; HTTP/3 support remains a gap for workloads that need it today.
Overview
Derived from Baidu’s proprietary Baidu Front End, BFE brings ingress routing and load balancing into an Apache 2.0-licensed project. Its self-hosted deployment model gives teams control over where the service runs, while its CNCF sandbox status and integrations with Kubernetes and monitoring tools make it relevant to cloud-native environments. This is infrastructure to operate yourself, rather than a managed gateway service.
Key features
BFE handles HTTP, HTTPS, SPDY, HTTP/2, WebSocket, TLS, gRPC, and FastCGI. That breadth suits teams with a mix of web and service traffic. HTTP/3 is planned, so deployments that require it now will need a different choice.
Routing rules are written in a domain-specific language and can use content-based conditions; canary routing is supported. Global and distributed balancing, zone-aware routing, zone-level failure resilience, and overload protection give operators several ways to direct traffic and manage pressure across zones. These are useful controls for distributed deployments, though they place rule definition and operation in the team’s hands.
A built-in plugin framework supports extensions for traffic management, security, and observability. BFE also provides subsystem metrics, troubleshooting and analysis logs, and distributed tracing. Integration with mainstream Layer 4 load balancers and projects including Kubernetes, Prometheus, Jaeger, and Fluentd can fit it into an existing infrastructure stack.
Each tenant’s configuration is isolated and hidden from other tenants, a practical safeguard for shared environments. The project is written in Go, which it describes as memory-safe, and says this makes BFE immune to buffer overflow vulnerabilities. Installation paths include source, binaries, Go, Snap, and Docker. For support, users can turn to GitHub issues, GitHub Discussions, and a CNCF Slack channel; suspected security issues should be reported privately to [email protected].
Pricing
BFE’s Open source plan costs nothing and is licensed under Apache 2.0. It is the fit for teams able to deploy and operate the controller themselves. No trial is offered, and the plan has no stated limits; the price does not change the self-hosted operating model.
Platforms
BFE lists API, Linux, macOS, self-hosted, and Windows support. Its deployment model is self-hosted, and its ingress API model is ingress. Installation options include source, binary, Go, Snap, and Docker.
Who it's for
BFE suits infrastructure teams that need content-based ingress rules, canary routing, and traffic distribution across zones, especially when tenant configuration isolation and operational visibility matter. It is also a reasonable candidate for teams already working with Kubernetes, Prometheus, Jaeger, Fluentd, or Layer 4 load balancers. Teams that need HTTP/3 now or want a service that is not self-hosted should look elsewhere.
Pros and cons
Pros
- Apache 2.0 licensing and a free plan make BFE accessible to teams that can run it themselves.
- Global and distributed balancing, zone failure resilience, overload protection, and canary routing cover several traffic-management needs.
- Tenant-isolated configuration, metrics, logs, and tracing support shared operations and troubleshooting.
- Multiple installation paths and integrations with Kubernetes and observability projects help it fit varied self-managed environments.
Cons
- HTTP/3 is planned rather than supported, limiting its fit for teams that require that protocol today.
- Self-hosting means the team must take responsibility for running and maintaining the controller.
- Routing depends on a domain-specific language, so teams need to be prepared to define and manage rules directly.
Alternatives
Consider Kubernetes Ingress Controllers to compare options across the category. Choose ngrok if its free plan’s included usage, up to three online endpoints, and up to 1GB data transfer suit your needs. Kusk Gateway is another free, open-source option under the MIT License.
Traefik Proxy may suit teams looking for a free open-source ingress controller, reverse proxy, and load balancer with service auto-discovery. agentgateway offers an open-source gateway with binary, Docker, or Kubernetes deployment. HAProxy Ingress requires a Kubernetes cluster, and version 0.16 requires Kubernetes 1.21 or newer.
Higress offers a free self-hosted Community Edition with community support and documentation, with users responsible for stability and performance. NGINX Gateway Fabric is a free open-source Kubernetes project whose Gateway API support varies by resource. Airlock Microgateway has a free Community Edition for small environments or local development, with enforced throughput and six-month license validity.
Verdict
Choose BFE if your team can operate a self-hosted controller and wants content-based routing, multi-zone balancing controls, tenant isolation, and built-in observability without a license cost. Its main limitation is the absence of HTTP/3 support today, which makes it a poor fit when that protocol is a requirement.
Verdict
Choose BFE if you need a free, self-hosted Layer 7 load balancer with content-based routing and tenant isolation. Its balancing and observability features make it suited to deployments that need those controls. Look elsewhere if you require HTTP/3 support now or a deployment model other than self-hosted.
Questions
How much does BFE cost?
The open-source plan is free.
Is BFE open source?
Yes. It is available under the Apache 2.0 License and is a CNCF sandbox project.
Where can BFE be deployed?
BFE is self-hosted. Its listed platforms include API, Linux, macOS, and Windows.
Which protocols does BFE support?
It supports HTTP, HTTPS, SPDY, HTTP/2, WebSocket, TLS, gRPC, and FastCGI. HTTP/3 is planned.
What integrations are listed?
The project lists mainstream Layer 4 load balancers and ecosystem projects including Kubernetes, Prometheus, Jaeger, and Fluentd.
How can I install BFE?
Documentation describes installation from source and provides binary, Go, Snap, and Docker paths.
Facts from BFE Ingress Controller's own pages
- API security warning
- Documentation says the management API should be reachable only from an internal network. · bfe-networks.net, 15 Oct 2026
- CNCF status
- BFE is a CNCF Sandbox project, a category CNCF describes as experimental and not yet widely tested in production. · cncf.io, 15 Oct 2026
- Company founded
- LinkedIn lists Baidu as founded in 2000 and having more than 10,001 employees. · linkedin.com, 15 Oct 2026
- Company ownership
- Baidu, Inc. is the company behind BFE; LinkedIn lists it as a public software company headquartered in Beijing. · linkedin.com, 15 Oct 2026
- Control plane
- The broader BFE system separates BFE Server from API Server, Conf Agent and Dashboard control-plane components. · bfe-networks.net, 15 Oct 2026
- Cookie routing
- Ingress traffic can be routed using cookie conditions. · github.com, 15 Oct 2026
- Documentation scope
- Ingress documentation includes deployment, RBAC, configuration, status, route priority, TLS, load balancing, redirects, rewrites, FAQ and annotations. · github.com, 15 Oct 2026
- Extensibility
- BFE offers Go plugin modules and a WebAssembly plugin path through a proxy-Wasm host. · hysenlabs.com, 15 Oct 2026
- Header routing
- Ingress traffic can be routed using HTTP header conditions. · github.com, 15 Oct 2026
- Host routing
- Ingress traffic can be routed using Host rules. · github.com, 15 Oct 2026
- Hot reload
- Configuration reloads are designed to avoid interrupting existing long-lived connections. · github.com, 15 Oct 2026
- Independent listing
- Kubernetes documentation lists BFE Ingress Controller as a third-party BFE-based controller and says Kubernetes does not maintain third-party controllers. · kubernetes.io, 15 Oct 2026
- Installation
- The documentation describes installing from source and provides binary, Go, Snap, and Docker installation paths. · bfe-networks.net, 7 Oct 2026
- Installation methods
- The project documents source, binary, Go, Snap and Docker installation paths. · bfe-networks.net, 15 Oct 2026
- Integrations
- Official documentation names Kubernetes, Prometheus, Jaeger, Fluentd and mainstream layer-4 load balancers as integrations. · bfe-networks.net, 15 Oct 2026
- Kubernetes API limit
- Kubernetes says the Ingress API is frozen and recommends Gateway API for new development. · kubernetes.io, 15 Oct 2026
- Kubernetes deployment
- The ingress controller can be installed with kubectl manifests or a Helm 3 chart. · github.com, 15 Oct 2026
- License
- BFE and the ingress controller are released under the Apache 2.0 license. · github.com, 15 Oct 2026
- Limit: documentation gap
- Independent analysis notes that English control-plane documentation was listed as coming soon and operational guidance was thinner than the codebase. · hysenlabs.com, 15 Oct 2026
- Limit: Kubernetes packaging
- Independent analysis characterizes the Kubernetes setup as a kustomize example rather than a managed operator and notes possible cleanup or finalizer troubleshooting. · hysenlabs.com, 15 Oct 2026
- Limit: operational complexity
- Independent analysis says a fleet with API, UI and configuration management requires four separate deployments because the data plane and control-plane components are split. · hysenlabs.com, 15 Oct 2026
- Limit: plugin maintenance
- Independent analysis says compiled Go plugins require rebuilds and redeployments, while WebAssembly plugins add a runtime compatibility layer. · hysenlabs.com, 15 Oct 2026
- Load balancing
- The platform provides global and distributed balancing with zone awareness, zone-failure resilience and overload protection. · bfe-networks.net, 15 Oct 2026
- Multi-tenancy
- Tenant configurations are isolated so one tenant cannot see another tenant's configuration. · bfe-networks.net, 15 Oct 2026
Where BFE Ingress Controller stands on Freedom251
- Kubernetes Ingress Controllers#2 of 28
