Skip to content

Instantly share code, notes, and snippets.

@bittrance
Last active April 3, 2025 09:14
Show Gist options
  • Save bittrance/bbe718d4f00a859e13b9beacd5101d68 to your computer and use it in GitHub Desktop.
Save bittrance/bbe718d4f00a859e13b9beacd5101d68 to your computer and use it in GitHub Desktop.
Cilium waypoint proxy with pure Gateway API
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: hello-backend
namespace: waypoint-test
spec:
parentRefs:
- name: hello-upstream
port: 8082
kind: Service
group: ""
rules:
- backendRefs:
- name: hello-backend
port: 8083
---
apiVersion: v1
kind: Service
metadata:
name: hello-backend
namespace: waypoint-test
spec:
selector:
app: caddy-backend
ports:
- name: http
port: 8083
targetPort: 8084
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-backend
namespace: waypoint-test
labels:
app: caddy-backend
spec:
selector:
matchLabels:
app: caddy-backend
template:
metadata:
labels:
app: caddy-backend
spec:
containers:
- name: caddy
image: caddy:2.9.1-alpine
command:
- caddy
- respond
- --listen
- :8084
- --body
- Hello this!
- --access-log
ports:
- containerPort: 8084
apiVersion: v1
kind: Namespace
metadata:
name: waypoint-test
---
apiVersion: gateway.networking.k8s.io/v1beta1
kind: Gateway
metadata:
name: hello-gateway
namespace: waypoint-test
spec:
gatewayClassName: cilium
listeners:
- name: http
protocol: HTTP
port: 80
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: hello-waypoint
namespace: waypoint-test
spec:
parentRefs:
- name: hello-gateway
rules:
- backendRefs:
- name: hello-waypoint
port: 8080
---
apiVersion: v1
kind: Service
metadata:
name: hello-waypoint
namespace: waypoint-test
spec:
selector:
app: caddy-waypoint
ports:
- name: http
port: 8080
targetPort: 8081
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: hello-waypoint
namespace: waypoint-test
labels:
app: caddy-waypoint
spec:
selector:
matchLabels:
app: caddy-waypoint
template:
metadata:
labels:
app: caddy-waypoint
spec:
containers:
- name: caddy
image: caddy:2.9.1-alpine
command:
- caddy
- reverse-proxy
- --from
- :8081
- --to
- hello-upstream:8082
- --header-down
- "X-Greeting: Hello waypoint!"
- --access-log
ports:
- containerPort: 8081
---
apiVersion: v1
kind: Service
metadata:
name: hello-upstream
namespace: waypoint-test
spec:
ports:
- name: http
port: 8082
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment