Features

Everything You Need at the Edge

A comprehensive look at every capability Ferrum Edge brings to your infrastructure — protocols, operating modes, mesh, AI governance, security, resilience, and observability.

Full Protocol Stack

🌐

HTTP/1.1

Keep-alive connection pooling, chunked transfer encoding, full request/response lifecycle plugin support.

🔗

HTTP/2

ALPN negotiation with multiplexed direct-H2 backend pools, flow-control tuning, and in-path body-size enforcement.

HTTP/3 (QUIC)

Served on the same port as HTTPS with streaming responses, automatic backend H3 capability detection, and per-backend QUIC pooling.

🔠

WebSocket

Upgrade over HTTP/1.1, Extended CONNECT over HTTP/2 and HTTP/3. One plugin pipeline across all three frontends, with frame inspection, rate limiting, and Origin validation.

📲

gRPC & gRPC-Web

Runtime-detected gRPC with trailer support on h2c and TLS. Bidirectional gRPC-Web translation for browser clients, method routing, and deadline enforcement.

📡

TCP

Raw stream proxying with TLS termination, origination, or passthrough. Outbound PROXY protocol v2, connection throttling, and adaptive buffers.

📠

UDP / DTLS

Datagram proxying with session tracking, DTLS 1.2/1.3 termination and origination, amplification protection, and jitter-aware buffering.

🔒

SSE Streaming

First-class Server-Sent Events handling with correct streaming headers, Last-Event-ID forwarding, and optional event wrapping — essential for LLM traffic.

Eight Modes, One Binary

Set FERRUM_MODE and the same binary becomes whatever your architecture needs.

File Mode

Single instance driven by a YAML/JSON config with SIGHUP hot reload. Ideal for development, single-node deployments, and GitOps workflows. No external dependencies.

No DB RequiredGitOps FriendlySIGHUP Reload

Database Mode

Proxies, consumers, plugins, and upstreams stored in PostgreSQL, MySQL, SQLite, or MongoDB. Full Admin API for zero-downtime runtime changes. Config cached in memory for resilience against database outages.

PostgreSQLMySQLSQLiteMongoDB

Control Plane (CP)

Centralized configuration authority. Reads from the database and distributes config to Data Planes over TLS-first gRPC streams with JWT authentication. Namespace tenancy for multi-team isolation.

gRPC PushAdmin APITLS-First

Data Plane (DP)

Horizontally scalable traffic processors. Multi-CP failover with priority ordering, local config caching, and automatic reconnection. Add instances without touching the Control Plane.

StatelessMulti-CP FailoverHorizontal Scale

Mesh Mode

Service-mesh data plane with six topologies: sidecar, ambient, node waypoint, service waypoint, east-west gateway, and egress gateway. Consumes native MeshSubscribe, standard xDS ADS, or a local mesh config file.

SPIFFEHBONExDSMulti-Cluster

Injector Mode

Kubernetes admission webhook that injects Ferrum mesh sidecars and init capture containers into opted-in workloads, deriving SPIFFE IDs from pod service accounts. Supports iptables and eBPF capture.

K8s Webhookiptables / eBPF

Node Agent Mode

Per-node eBPF capture manager for the ambient mesh. Programs socket-cookie and original-destination eBPF maps and per-pod identity enrollment — no proxy listeners at all.

eBPFAmbient Mesh

Migrate Mode

Runs database schema migrations, reports migration status, or rewrites config files to the current schema — then exits. Built for CI/CD pipelines and Kubernetes Jobs.

CI/CDRuns & Exits
Guide: Running Every Mode →

A Full Mesh Data Plane

Six Topologies

Sidecar, ambient (HBONE), node waypoint, service waypoint, east-west gateway, and egress gateway — mix and match per workload.

SPIFFE Identity

Workload identity from mTLS peer certificates and HBONE baggage. SPIRE integration or Ferrum's own built-in Workload API with X.509 and JWT SVIDs.

Mesh Authorization

Identity-based policies with mesh-wide, namespace, and workload scopes. DENY-first evaluation with Istio-compatible semantics.

Istio Resource Translation

VirtualService route splits, AuthorizationPolicy, RequestAuthentication, PeerAuthentication, Telemetry API, and Sidecar outbound policy.

Gateway API

HTTPRoute, GRPCRoute, and UDPRoute translation with weighted backends and conformance-tested behavior.

Transparent DNS Proxy

Resolves mesh ServiceEntry hosts and service names to workload IPs; forwards everything else upstream. Wildcard host support.

Registry-Only Egress

REGISTRY_ONLY outbound policy rejects destinations outside known services and ServiceEntries — controlled egress by default.

Multi-Cluster Federation

East-west gateways with SNI-routed passthrough, cross-cluster SPIFFE validation, and trust bundle federation.

Mesh Observability

Istio/GAMMA-compatible RED metrics with workload labels, per-scope trace sampling, and access log filtering via the Telemetry API.

Govern Every Token

Fourteen purpose-built plugins covering routing, cost, safety, compliance, and agent traffic.

🚀

Provider Federation & Streaming

One OpenAI-compatible endpoint routing to 11 providers — OpenAI, Anthropic, Google Gemini/Vertex, Azure OpenAI, AWS Bedrock, Mistral, Cohere, xAI, DeepSeek, Meta Llama, Hugging Face — with model mapping, priority fallback, per-provider circuit breakers, and true end-to-end SSE streaming with provider-format normalization.

💰

Cost Control

Token-aware rate limiting with pre-request reservation and Redis-coordinated budgets across instances. Token metrics extraction for every major provider format. Semantic caching returns cached answers for similar prompts. Prompt compression trims token spend without external models.

🛡

Safety & Guardrails

Semantic firewall for prompt injection, jailbreaks, and data-exfiltration intent. Prompt shield detects and redacts PII before it reaches providers. Response guard validates output content and format. Request guard enforces model allowlists, token limits, and parameter policy.

📋

Agents & Compliance

Tool governor applies deterministic allow/deny/redact/approval policy to AI tool calls — including streaming. MCP gateway aggregates and routes Model Context Protocol tool servers; A2A gateway governs Agent-to-Agent traffic. Transcript audit captures redacted, hashed records for compliance export.

Intelligent Traffic Distribution

Six Algorithms

Round robin, weighted round robin, least connections, least latency, consistent hashing (IP/header/cookie sticky sessions), and random.

Active Health Checks

HTTP, TCP SYN, and UDP probes with configurable intervals and thresholds. Unhealthy targets leave the rotation automatically.

Passive Monitoring

Real-time observation of live traffic triggers failover without dedicated probe connections.

Circuit Breaker

Closed / Open / Half-Open states stop cascading failures and probe recovery automatically.

Retries with Backoff

Connection- and HTTP-level retries with fixed or exponential backoff across HTTP/1.1, HTTP/2, HTTP/3, gRPC, and WebSocket.

Adaptive Concurrency

Target-aware backend admission shrinks in-flight limits when latency or failure signals rise — protecting backends before they fall over.

Config Survives Outages

In-memory config cache keeps traffic flowing through database, file, or control-plane outages. Startup failover from backup config.

Multi-URL Failover

Ordered database failover URLs, read-replica support, DP multi-CP failover, and multi-region HA via shared database clusters.

Graceful Shutdown

SIGTERM drains in-flight requests before exit. Client observability headers expose gateway and upstream error causes.

Defense in Depth

WAF

Content-pattern threat detection: SQLi, XSS, command/template injection, Log4Shell, path traversal, SSRF, XXE, and more — with paranoia levels, monitor/enforce posture, and WebSocket message inspection.

10+ Auth Methods

mTLS, OAuth2 introspection, OIDC browser login with PKCE, JWT, JWKS with DPoP, API key, Basic, HMAC with replay protection, LDAP, and SOAP WS-Security with SAML.

OPA Policy

Open Policy Agent authorization with fail-closed defaults — centralize authorization decisions in Rego.

TLS Everywhere

Frontend TLS/mTLS, backend mTLS, database TLS, CP/DP channel mTLS, DTLS for UDP — with configurable cipher suites and CRL checking on every surface.

SSRF-Safe Egress

Backend egress policy blocks cloud metadata and dangerous IP ranges by default, enforced at config, DNS-resolution, and connection time. DNS-rebinding safe.

Anti-Smuggling Validation

Protocol-level request validation: Content-Length/Transfer-Encoding conflict rejection, multiple-Host rejection, TRACE blocking, slowloris timeouts.

Access Restrictions

IP/CIDR allow and deny lists, GeoIP country restrictions, bot detection, per-IP concurrency caps, and admin API CIDR allowlists.

Secure Admin Plane

Admin listeners bind loopback by default; writable modes refuse public plaintext admin without an allowlist. JWT-protected with read-only mode.

Contract Enforcement

JSON Schema, XML, and protobuf body validation plus OpenAPI request/response contract enforcement generated from your specs.

Flexible, Fast Request Routing

Prefix & Exact Match

Exact-path routes take priority, then longest prefix match — with a bounded O(1) path cache rebuilt atomically on config changes.

Host-Based Routing

Exact and wildcard host matching (*.example.com), plus host-only proxies that match any path under a host.

Regex Routes

Auto-anchored full-path regex matching for complex routing rules.

Method Filtering

Per-proxy allowed-method lists with proper 405 responses.

Path Rewriting

Strip listen paths, prepend backend path prefixes, and override paths per upstream target.

Spec-Driven Provisioning

Submit an OpenAPI/Swagger document to atomically provision a proxy, upstream, and plugins in one Admin API call.

Dynamic Upstream Discovery

📡

DNS-SD

SRV-record discovery for DNS-aware infrastructure, with configurable polling.

Kubernetes

Endpoint discovery from the Kubernetes API with namespace scoping and named ports.

📄

Consul

Healthy-instance discovery with datacenter selection and ACL tokens.

🛡

Ferrum Mesh

Resolves mesh services and workload SPIFFE references into upstream targets with identity metadata.

Discovered targets merge with statically defined ones, providers poll in the background without blocking traffic, and the last-known target list is retained if a provider becomes unreachable.

Secure Credential Handling

Any FERRUM_* setting can be loaded from an external secret source with a suffixed variable — no code changes.

Environment & Files

Direct values or file references (FERRUM_X_FILE) — compatible with Docker secrets, Kubernetes volume mounts, and Vault Agent injection. Always available.

HashiCorp Vault

KV v2 secrets with key selection (FERRUM_X_VAULT=secret/data/gw#key) and private-CA TLS trust.

AWS Secrets Manager

Name or ARN references with the standard AWS credential chain — IAM roles, instance profiles, and IRSA.

GCP Secret Manager

Application Default Credentials with Workload Identity support on GKE.

Azure Key Vault

Vault URL references with service principal authentication.

Fail-Safe Resolution

Conflicting sources fail startup loudly, resolved references are scrubbed from the environment, and each fetch has a bounded timeout.

Full Visibility Into Every Request

📊

OpenTelemetry

W3C Trace Context propagation with OTLP/HTTP span export, batching, and rich semantic attributes.

🔋

Prometheus

Exposition endpoint plus a JWT-gated runtime metrics snapshot: HTTP status windows, error classes, DNS outcomes, pool churn, and overload state.

📄

Log Shipping

Structured JSON to stdout, HTTP collectors (Datadog, Splunk, Elastic, and more), Grafana Loki, Kafka, TCP, UDP/DTLS, and StatsD.

🔔

Proxy Alerts

In-gateway anomaly notifications to Slack, Teams, Discord, PagerDuty, webhooks, or email — error rates, latency percentiles, status spikes, and disconnect causes.

💵

API Chargeback

Per-consumer usage charging across calls, bandwidth, and stream sessions — including TCP/UDP traffic — exported in Prometheus and JSON formats for billing.

🔧

Custom Log Schemas

Rename, drop, reorder, and derive log fields per sink without forking the gateway. Sensitive-key redaction always applies.

Tuned From Kernel to Plugin

Lock-Free Hot Path

Every request-path read is a lock-free atomic operation — configuration changes never stall traffic.

Connection Pool Warmup

Backend connections and DNS entries pre-established at startup to eliminate first-request cold starts.

Adaptive Buffers

Copy buffers and UDP batch limits tune themselves per proxy from observed traffic — small messages save memory, bulk transfers save syscalls.

Parallel Accept Loops

SO_REUSEPORT accept loops scale with CPU cores, eliminating the single-socket bottleneck under connection storms.

Kernel-Level Tuning

TCP Fast Open, deferred port allocation, TLS handshake offload runtimes, and port-exhaustion detection on Linux.

Smart Caching

Frequency-aware route cache eviction, cacheability prediction, RED-style adaptive load shedding, and bounded caches everywhere.

See the Benchmarks →

Zero-Downtime Management

  • JWT-protected Admin REST API with full CRUD and read-only mode
  • Batch operations and full config backup/restore
  • OpenAPI spec import provisions proxy + upstream + plugins atomically
  • Zero-downtime reload via DB polling, SIGHUP, or CP push
  • Atomic config swap — no partial config ever visible to requests
  • 300+ environment variables, all overridable via ferrum.conf
  • Ferrum Foundry web UI for visual management

Custom Plugins in Rust

  • Drop-in custom_plugins/ directory, auto-discovered at build time
  • Hooks at every lifecycle stage — request, auth, admission, body, frames, datagrams, logging
  • Plugins can declare their own database migrations
  • Global, per-proxy, and proxy-group scoping with priority overrides
  • Multiple instances of the same plugin per proxy
  • Full compiler-checked type safety — no scripting sandbox

Ready to Put These Features to Work?

Install Now → Browse Plugins View Benchmarks