I have Zitadel deployed on my Kubernetes Cluster and want to be able to reach it from outside. For that I deployed traefik as an Ingress controller.
Zitadel gives an Example for a traefik configuration file on their Website:
entrypoints:
web:
address: ":80"
providers:
file:
filename: /etc/traefik/traefik.yaml
http:
middlewares:
zitadel:
headers:
isDevelopment: false
allowedHosts:
- 'localhost'
routers:
router0:
entryPoints:
- web
middlewares:
- redirect-to-https
rule: 'HostRegexp(`localhost`, `{subdomain:[a-z]+}.localhost`)'
service: zitadel
services:
zitadel:
loadBalancer:
servers:
- url: h2c://localhost:8080
passHostHeader: true
I tried to convert this to an Kubernetes IngressRoute CRD with this result:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: zitadel
namespace: apps
spec:
entryPoints:
- websecure
routes:
- match: HostRegexp(`localhost`, `{subdomain:[a-z]+}.localhost`)
kind: Rule
services:
- name: zitadel
namespace: apps
port: 8080
scheme: h2c
passHostHeader: true
- match: HostRegexp(`localhost`, `{subdomain:[a-z]+}.localhost`)
kind: Rule
services:
- name: zitadel
namespace: apps
port: 8080
scheme: http
passHostHeader: true
But with this IngressRoute, the html Part of the Webapp loads, but the Grpc calls fail.
I posted this question on StackOverflow but am asking it here too to get more attention to it.
Thanks in advance for your help