JVM-native GraphQL federation gateway

RebootStr1 pts0 comments

JVM-native GraphQL federation platform - feddi

GraphQL Federation Platform

The first JVM-native GraphQL federation gateway.

Federation inside your JVM. No foreign runtime, no governance gap, no proprietary directives. Built on the GraphQL federation spec.

Built by Andi Marek, creator of GraphQL Java, the runtime powering Spring GraphQL and Netflix DGS, and team.

Sign up free<br>Get started

Always open source. Self-hosted. No vendor lock-in.

# 1. authenticate

❯feddi auth login --token fddi_...

✓ Authenticated as you@company.com

# 2. create your graph

❯feddi graph create $ORG_ID "payments-api"

✓ Created graph: payments-api

❯feddi variant create $GRAPH_ID production

✓ Created variant: production

# 3. publish your subgraphs

❯feddi subgraph publish $ID --schema ./orders.graphqls

✓ Schema published. Composition successful.

❯feddi subgraph publish $ID --schema ./users.graphqls

✓ Schema published. Composition successful.

⬡ supergraph ready — start the gateway

The Problem

Every federation gateway runs outside your JVM

Policy runs twice

Your custom policy and enforcement logic lives in the JVM. A Rust or Go gateway can't reach it in-process, so you rebuild it outside the JVM or expose it over HTTP, adding latency at every enforcement point.

Operations fracture

Your team owns the JVM stack end to end: deployment, tuning, debugging, on-call. A Rust or Go gateway is a separate discipline with its own runbooks and expertise your platform team now has to carry.

Compliance overhead

Every compliance audit now covers an additional runtime and a separate tech stack your security team must validate independently.

feddi Gateway runs on the JVM. Your subgraphs don't have to.

How it works

From subgraphs to unified API

Three steps and you're running federation.

Step 01

Publish your subgraph schemas

Push each subgraph schema to feddi via CLI. feddi validates the schema and stores it. Every push triggers automatic composition.

Need an access token? Sign up free — takes 30 seconds.

❯feddi subgraph publish $ID --schema ./orders.graphqls

✓ Schema published. Composition successful.

Step 02

Composition runs automatically

On every publish, feddi composes your subgraphs, validates compatibility and blocks breaking changes before they reach production.

❯feddi subgraph publish $ID --schema ./orders.graphqls

△ Breaking: Query.order field type changed

Field has 4,821 requests in last 30 days

Schema NOT published. Composition unsuccessful.

Step 03

Self-host the gateway

Run the feddi Gateway as a standalone Java process in your existing infrastructure. It polls for schema updates and routes all GraphQL traffic locally. Your data never leaves.

❯feddi-gateway

✓ Gateway started on :8080

✓ Supergraph loaded (3 subgraphs)

Features

Everything federation needs

Built on the official spec. Designed for production.

Schema registry

One source of truth

Every subgraph schema, composition result, and change history in one place. feddi tracks ownership, validates compatibility across teams, and gives platform leads full visibility across the supergraph.

Spec-compliant

No vendor lock-in

feddi implements the official GraphQL Composite Schemas specification. Standard federation directives, no proprietary extensions.

Analytics & safety

Know before you break

Field-level usage tracking shows you which fields are in active use. Breaking change detection rejects dangerous schema changes or warns you when a field is truly unused.

❯ feddi usage fields $VARIANT_ID

✓Query.orders12,847 req0 errors

✓Order.lineItems9,203 req0 errors

△Query.user6,441 req2 errors

Input usage

Know before you remove an argument

Before removing an argument, check who's still passing it and when they last did. feddi tracks every argument and input object field your clients actually send.

CLI & agent-first

Automate everything

Manage your entire federation from the terminal. Every action is a CLI command with machine-readable output, built to work with AI coding agents like Claude Code, Cursor, and Copilot.

Self-hosted gateway

Your traffic stays yours

The feddi Gateway runs in your own infrastructure alongside your subgraphs. GraphQL traffic never passes through feddi's servers. The platform only handles metadata.

In-process extensions

Extend the gateway in Java, zero latency

feddi extensions run inside the JVM alongside your feddi Gateway. No network hop, no coprocess overhead.

Persisted documents

Safelist your operations

Pre-register GraphQL operations so clients send a hash instead of a full query string. Smaller payloads, no arbitrary query execution, and a dedicated publish key for your CI pipeline.

❯ feddi pdl publish $PDL_ID --document ./ops.graphql

✓ 12 operations published.

3 already existed, skipped.

Pricing

Start free, scale as you grow

No credit card required to get started.

Free<br>Enterprise

Self-hosted feddi Gateway (open source)✓✓<br>feddi CLI — automate everything✓✓<br>Graphs, variants &...

feddi gateway schema graphql federation publish

Related Articles