---
kind: GatewayClass
apiVersion: networking.x-k8s.io/v1alpha1
metadata:
  name: my-gateway-class
spec:
  controller: traefik.io/gateway-controller

---
kind: Gateway
apiVersion: networking.x-k8s.io/v1alpha1
metadata:
  name: my-gateway
  namespace: default
spec:
  gatewayClassName: my-gateway-class
  listeners:  # Use GatewayClass defaults for listener definition.
    - protocol: HTTP
      port: 80
      routes:
        kind: HTTPRoute
        namespaces:
          from: Same
        selector:
          app: foo

---
kind: HTTPRoute
apiVersion: networking.x-k8s.io/v1alpha1
metadata:
  name: http-app-1
  namespace: default
  labels:
    app: foo
spec:
  hostnames:
    - "foo.com"
  rules:
    - matches:
        - path:
            type: Exact
            value: /bar
      forwardTo:
        - serviceName: whoami
          port: 80
          weight: 1
    - matches:
        - path:
            type: Exact
            value: /bir
      forwardTo:
        - serviceName: whoami2
          port: 8080
          weight: 1
