Experimental Features
Nantian Gateway ships several experimental features that are disabled by default. These APIs are useful for testing AI routing, token policies, Wasm extensions, and experimental Gateway API policies, but their schemas and runtime behavior may change.
Feature Flags
Section titled “Feature Flags”| Plane | Helm value | Default | Controls |
|---|---|---|---|
| Control plane | controlplane.config.features.enableExperimentalGateway | false | Registers experimental Gateway-policy-related types including BackendLBPolicy, TokenPolicy, and WasmPlugin support in the control plane scheme. |
| Control plane | controlplane.config.features.enableAiGateway | false | Registers AIService support in the control plane scheme. |
| Data plane | dataplane.config.experimental.enableExperimentalGateway | false | Enables data plane handling for experimental gateway runtime behavior where implemented. |
| Data plane | dataplane.config.experimental.enableAiGateway | false | Enables data plane AI gateway runtime behavior where implemented. |
Control plane flags decide which resources the manager can register and reconcile. Data plane flags decide which experimental runtime behavior is enabled after snapshots arrive.
Enable With Helm
Section titled “Enable With Helm”Create experimental-values.yaml:
controlplane: config: features: enableExperimentalGateway: true enableAiGateway: true
dataplane: config: experimental: enableExperimentalGateway: true enableAiGateway: trueApply it during install or upgrade:
helm upgrade --install nantian-gw nantian-gw/nantian-gw \ --namespace nantian-gw \ --create-namespace \ -f experimental-values.yamlRestarted pods should pick up the rendered ConfigMaps. Check logs after the rollout to confirm both planes started with the intended configuration.
Enable With Kustomize
Section titled “Enable With Kustomize”Kustomize users should edit or replace the ConfigMaps generated by the base manifests. The base gateway/deploy/kubernetes/base/kustomization.yaml uses:
gateway/configs/controlplane/config.yamlgateway/configs/dataplane/config.yaml
The data plane repository also carries the runtime default at dataplane/configs/dataplane/config.yaml; keep it aligned when updating data plane-owned examples.
Control plane fragment:
features: enableExperimentalGateway: true enableAiGateway: trueData plane fragment:
experimental: enableExperimentalGateway: true enableAiGateway: trueUse an overlay when possible instead of editing base files in-place.
Required CRDs
Section titled “Required CRDs”Install the standard Gateway API CRDs for core resources such as Gateway and HTTPRoute. For experimental resources, you also need the relevant CRDs:
- Gateway API experimental CRDs for
BackendLBPolicy. - Nantian CRDs from the gateway base manifests:
aiservices.gateway.nantian.devtokenpolicies.gateway.nantian.devwasmplugins.gateway.nantian.dev
The Nantian CRDs are namespaced extension resources under gateway.nantian.dev/v1alpha1. BackendLBPolicy is a Gateway API experimental resource under gateway.networking.k8s.io/v1alpha2.
Verify
Section titled “Verify”Check CRDs first:
kubectl get crd aiservices.gateway.nantian.devkubectl get crd tokenpolicies.gateway.nantian.devkubectl get crd wasmplugins.gateway.nantian.devkubectl get crd backendlbpolicies.gateway.networking.k8s.ioThen check running configuration through logs:
kubectl logs -n nantian-gw deploy/nantian-gw-controlplane --tail=100kubectl logs -n nantian-gw deploy/nantian-gw-dataplane --tail=100Missing CRDs cause resource creation failures. Disabled control plane feature flags can make resources unavailable to the manager scheme. Disabled data plane flags can prevent experimental runtime behavior even when the control plane accepts the objects.
Use The APIs
Section titled “Use The APIs”After the CRDs and flags are in place, create resources that match the current schemas. Start with Custom And Experimental Resources for examples of AIService, TokenPolicy, WasmPlugin, and BackendLBPolicy.