Skip to main content
minecraft-gateway is built on the Kubernetes Gateway API (gateway.networking.k8s.io). It reuses the standard GatewayClass and Gateway resources and introduces two custom route kinds.

Resource hierarchy

GatewayClass

A GatewayClass is a cluster-scoped resource that names a controller. Set spec.controllerName to minefleet.dev/gateway-controller for minecraft-gateway to manage it.
The optional parametersRef points to a NetworkInfrastructure that provides cluster-wide defaults, including edgeTemplate configuration (which is only effective at this level).

Gateway

A Gateway represents a single Minecraft entry point. Each listener in spec.listeners gets its own network proxy Deployment and Service.
protocol must be JAVA (Minecraft Java Edition) or BEDROCK (Minecraft Bedrock Edition). hostname is optional. When set, only routes whose spec.hostnames are compatible with this hostname will attach to the listener. A wildcard like *.example.com allows any route whose hostnames fall under that domain. allowedRoutes.kinds must reference kinds from group gateway.networking.minefleet.dev. allowedRoutes.namespaces controls which namespaces can attach routes to this listener.

Custom route types

minecraft-gateway replaces the standard HTTPRoute with two Minecraft-specific route kinds.

MinecraftJoinRoute

A MinecraftJoinRoute routes initial player connections. The optional spec.hostnames field declares which hostnames this route is available for at the edge — the edge proxy uses it to know which incoming connections this route can handle. filterRules with domain patterns define the actual routing logic that maps connections to backends. See the MinecraftJoinRoute reference for full field documentation.

MinecraftFallbackRoute

A MinecraftFallbackRoute defines where players go when a primary server is unavailable or full. It supports a fallbackFor selector that dynamically resolves to a set of services at snapshot build time. Fallback routes are evaluated by the network proxy and do not affect edge-layer routing. See the MinecraftFallbackRoute reference for full field documentation.

Infrastructure merging

When both the GatewayClass and the Gateway have a parametersRef, the controller merges their NetworkInfrastructure specs: This lets you set cluster-wide edge configuration centrally while allowing individual gateways to customize their network proxy and discovery settings.
Last modified on April 27, 2026