This extension adds support for the Kubernetes Gateway API to Freelens. The Gateway API is an official Kubernetes project that provides expressive, extensible, and role-oriented interfaces for service networking, designed as the successor to the Ingress API.
The extension provides cluster pages, list views, and detail panels for all
standard and experimental Gateway API resources across the
gateway.networking.k8s.io and gateway.networking.x-k8s.io API groups.
Each resource is accessible from the Freelens sidebar, with status
conditions, spec fields, and related objects displayed in the detail view.
- Kubernetes >= 1.26
- Freelens >= 1.8.0
- Gateway API CRDs installed in the cluster (see the Gateway API installation guide)
| API Version | Kind | Short Name | Scope | Description |
|---|---|---|---|---|
| v1 | GatewayClass |
gc |
Cluster | Defines a class of Gateways sharing a common controller |
| v1 | Gateway |
gtw |
Namespaced | Describes an instance of a service-traffic handling infrastructure |
| v1 | HTTPRoute |
Namespaced | Routes HTTP and HTTPS traffic to backends | |
| v1 | GRPCRoute |
Namespaced | Routes gRPC traffic to backends | |
| v1 | TLSRoute |
Namespaced | Routes TLS traffic to backends based on SNI | |
| v1 | BackendTLSPolicy |
btlspolicy |
Namespaced | Configures TLS for connections from a Gateway to backends |
| v1 | ReferenceGrant |
refgrant |
Namespaced | Allows cross-namespace references to Gateway API resources |
| v1 | ListenerSet |
lset |
Namespaced | Extends a Gateway with additional listeners |
| v1alpha2 | TCPRoute |
Namespaced | Routes TCP traffic to backends | |
| v1alpha2 | UDPRoute |
Namespaced | Routes UDP traffic to backends | |
| v1beta1 | ReferenceGrant |
refgrant |
Namespaced | Allows cross-namespace references (v1beta1 variant) |
Experimental APIs from the Kubernetes SIG Network incubation group.
| API Version | Kind | Short Name | Scope | Description |
|---|---|---|---|---|
| v1alpha1 | XBackendTrafficPolicy |
xbtrafficpolicy |
Namespaced | Configures backend traffic policies such as retry budgets and session persistence |
| v1alpha1 | XMesh |
mesh |
Cluster | Describes a service mesh implementation |
To install, open Freelens and go to Extensions (ctrl+shift+E or cmd+shift+E),
then search for and install @freelensapp/gateway-api-extension.
Alternatively, open the following URL in the browser to install directly:
freelens://app/extensions/install/%40freelensapp%2Fgateway-api-extension
You can build the extension from this repository.
Use NVM, mise-en-place, or windows-nvm to install the required Node.js version.
From the root of this repository:
nvm install
# or
mise install
# or
winget install CoreyButler.NVMforWindows
nvm install 24.15.0
nvm use 24.15.0Install pnpm:
corepack install
# or
curl -fsSL https://get.pnpm.io/install.sh | sh -
# or
winget install pnpm.pnpmpnpm i
pnpm build
pnpm packOne script to build and pack the extension for testing:
pnpm pack:devThe tarball will be placed in the current directory. In Freelens, navigate
to the Extensions page and provide the path to the tarball, or drag and
drop the .tgz file into the Freelens window.
pnpm lint:checkor
pnpm trunk:checkand
pnpm build
pnpm knip:checkIn the Freelens working repository:
rm -f *.tgz
pnpm i
pnpm build
pnpm pack -rThen in the extension repository:
echo "overrides:" >> pnpm-workspace.yaml
for i in ../freelens/*.tgz; do
name=$(tar zxOf $i package/package.json | yq -r .name)
echo " \"$name\": $i" >> pnpm-workspace.yaml
done
pnpm clean:node_modules
pnpm buildCopyright (c) 2025-2026 Freelens Authors.
