86 lines
2.9 KiB
YAML
86 lines
2.9 KiB
YAML
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: bakery-ingress
|
|
namespace: bakery-ia
|
|
annotations:
|
|
# Dev-Prod Parity: Enable HTTPS by default
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
|
|
|
# Dev-Prod Parity: Use specific origins instead of wildcard to catch CORS issues early
|
|
# HTTPS origins first (preferred), with HTTP fallback for development flexibility
|
|
nginx.ingress.kubernetes.io/cors-allow-origin: "https://localhost,https://localhost:3000,https://localhost:3001,https://127.0.0.1,https://127.0.0.1:3000,https://127.0.0.1:3001,https://bakery-ia.local,http://localhost,http://localhost:3000,http://localhost:3001,http://127.0.0.1,http://127.0.0.1:3000"
|
|
nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, PUT, DELETE, OPTIONS, PATCH"
|
|
nginx.ingress.kubernetes.io/cors-allow-headers: "Content-Type, Authorization, X-Requested-With, Accept, Origin, Cache-Control"
|
|
nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
|
|
# Prevent nginx from redirecting to add trailing slashes
|
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
|
|
|
# Development, SSE and WebSocket annotations
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
|
nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "10m"
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
|
nginx.ingress.kubernetes.io/proxy-buffering: "off"
|
|
nginx.ingress.kubernetes.io/proxy-http-version: "1.1"
|
|
nginx.ingress.kubernetes.io/upstream-keepalive-timeout: "3600"
|
|
|
|
# WebSocket upgrade support
|
|
nginx.ingress.kubernetes.io/websocket-services: "gateway-service"
|
|
spec:
|
|
ingressClassName: nginx
|
|
tls:
|
|
- hosts:
|
|
- localhost
|
|
- bakery-ia.local
|
|
- monitoring.bakery-ia.local
|
|
secretName: bakery-dev-tls-cert
|
|
rules:
|
|
- host: localhost
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: frontend-service
|
|
port:
|
|
number: 3000
|
|
- path: /api
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: gateway-service
|
|
port:
|
|
number: 8000
|
|
- host: bakery-ia.local
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: frontend-service
|
|
port:
|
|
number: 3000
|
|
- path: /api
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: gateway-service
|
|
port:
|
|
number: 8000
|
|
# SigNoz Monitoring on subdomain (deployed via Helm in bakery-ia namespace)
|
|
- host: monitoring.bakery-ia.local
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: signoz
|
|
port:
|
|
number: 8080 |