apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nxtgauge-frontend-solid namespace: nxtgauge annotations: cert-manager.io/cluster-issuer: letsencrypt-prod traefik.ingress.kubernetes.io/router.entrypoints: web,websecure spec: ingressClassName: traefik tls: - hosts: - test111.nxtgauge.com secretName: test111-tls # nxtgauge.com/www serve the SAME app/deployment as test111 - the only # difference is src/middleware.ts redirects "/" on these two hosts to # /coming-soon (pre-launch placeholder) while test111 shows the real # app. No separate service/deployment needed. - hosts: - nxtgauge.com - www.nxtgauge.com secretName: nxtgauge-com-tls rules: - host: test111.nxtgauge.com http: paths: # /api/* routes to Rust gateway directly (signup, login, KB, etc.) # so the SolidStart frontend (which has no /api/auth/* handler due to # the Vinxi 0.5.7 file-based-route bug) does not have to proxy itself. # More specific paths must come first — Traefik matches the longest prefix. - path: /api pathType: Prefix backend: service: name: nxtgauge-rust-gateway port: number: 9100 - path: / pathType: Prefix backend: service: name: nxtgauge-frontend-solid port: number: 80 - host: nxtgauge.com http: paths: - path: /api pathType: Prefix backend: service: name: nxtgauge-rust-gateway port: number: 9100 - path: / pathType: Prefix backend: service: name: nxtgauge-frontend-solid port: number: 80 - host: www.nxtgauge.com http: paths: - path: /api pathType: Prefix backend: service: name: nxtgauge-rust-gateway port: number: 9100 - path: / pathType: Prefix backend: service: name: nxtgauge-frontend-solid port: number: 80