apiVersion: cilium.io/v2alpha1 kind: CiliumL2AnnouncementPolicy metadata: name: application-metier-gateway spec: serviceSelector: matchExpressions: - key: io.kubernetes.service.namespace operator: In values: ["application-metier"] - key: io.kubernetes.service.name operator: In values: ["cilium-gateway-application-metier"] nodeSelector: matchExpressions: - key: node-role.kubernetes.io/control-plane operator: DoesNotExist loadBalancerIPs: true externalIPs: false --- apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: application-metier namespace: application-metier spec: gatewayClassName: cilium infrastructure: annotations: metallb.io/address-pool: bgp-pool metallb.io/loadBalancerIPs: "172.16.10.201" listeners: - name: http protocol: HTTP port: 80 hostname: naviya.guillin.ovh allowedRoutes: namespaces: from: Same - name: https protocol: HTTPS port: 443 hostname: naviya.guillin.ovh tls: mode: Terminate certificateRefs: - kind: Secret name: application-metier-tls allowedRoutes: namespaces: from: Same --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: application-metier-http-redirect namespace: application-metier spec: parentRefs: - name: application-metier sectionName: http hostnames: - naviya.guillin.ovh rules: - filters: - type: RequestRedirect requestRedirect: scheme: https statusCode: 301 --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: application-metier namespace: application-metier spec: parentRefs: - name: application-metier sectionName: https hostnames: - naviya.guillin.ovh rules: - matches: - path: type: PathPrefix value: / backendRefs: - name: application-metier-frontend port: 8080