# HTTPS-only ingress with TLS configuration apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: eveai-staging-ingress namespace: eveai-staging labels: app: eveai environment: staging annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true" nginx.ingress.kubernetes.io/proxy-body-size: "10m" nginx.ingress.kubernetes.io/proxy-read-timeout: "300" cert-manager.io/cluster-issuer: letsencrypt-staging nginx.ingress.kubernetes.io/use-regex: "true" nginx.ingress.kubernetes.io/rewrite-target: "/$2" nginx.ingress.kubernetes.io/server-snippet: | location = / { return 301 /admin/; } spec: ingressClassName: nginx tls: - hosts: - evie-staging.askeveai.com secretName: evie-staging-tls rules: - host: evie-staging.askeveai.com http: paths: # Application services (strip prefix) - path: /admin(/|$)(.*) pathType: ImplementationSpecific backend: service: name: eveai-app-service port: number: 80 - path: /api(/|$)(.*) pathType: ImplementationSpecific backend: service: name: eveai-api-service port: number: 80 - path: /chat-client(/|$)(.*) pathType: ImplementationSpecific backend: service: name: eveai-chat-client-service port: number: 80