-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Migrate from ingress-nginx to Gateway API
Summary
The Kubernetes ingress-nginx project is retiring in March 2026. After that date, there will be no releases, bugfixes, or security updates. We need to migrate to the Gateway API standard.
Source: https://www.kubernetes.dev/blog/2025/11/12/ingress-nginx-retirement/
Current State
We currently use ingress-nginx (v4.13.3) with Traefik explicitly disabled. All applications route through ingress-nginx:
- Obol Frontend:
/path - eRPC:
/rpcpath - Helios:
/heliospath (disabled) - Ethereum:
/ethereum/executionand/ethereum/beaconwith URL rewriting
Proposed Solution
Migrate to Gateway API using a simple gateway architecture as described in https://gateway-api.sigs.k8s.io/guides/simple-gateway/
Our use case is straightforward:
- Single host:
obol.stack - Basic HTTP path-based routing
- URL rewriting for ethereum endpoints
Implementation Steps
-
Choose Controller:
- Option A: NGINX Gateway Fabric (keeps NGINX)
- Option B: Re-enable k3s built-in Traefik
-
Install Gateway API CRDs
-
Create Single Gateway Resource:
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: obol-gateway
spec:
gatewayClassName: nginx # or traefik
listeners:
- name: http
protocol: HTTP
port: 80
hostname: obol.stack- Convert Ingress → HTTPRoute (example):
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: obol-frontend
spec:
parentRefs:
- name: obol-gateway
hostnames:
- obol.stack
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: obol-frontend
port: 3000-
Handle URL Rewriting with URLRewrite filters for ethereum endpoints
-
Update Documentation
Files to Change
internal/embed/k3d-config.yaml- Controller configurationinternal/embed/defaults/helmfile.yaml- Replace ingress-nginxinternal/embed/defaults/values/*.yaml.gotmpl- Convert to HTTPRouteinternal/embed/charts/ethereum/templates/ingress.yaml- Convert to HTTPRouteCLAUDE.md- Update architecture docs
Timeline
- Hard Deadline: March 2026
- Recommended: ASAP
References
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request