- Replace Socket.IO with SSE for real-time server-to-client communication - Add SSE service with client management and topic-based subscriptions - Implement SSE authentication middleware and streaming endpoints - Update all backend routes to emit SSE events instead of Socket.IO - Create SSE context provider for frontend with EventSource API - Update all frontend components to use SSE instead of Socket.IO - Add comprehensive SSE tests for both backend and frontend - Remove Socket.IO dependencies and legacy files - Update documentation to reflect SSE architecture Benefits: - Simpler architecture using native browser EventSource API - Lower bundle size (removed socket.io-client dependency) - Better compatibility with reverse proxies and load balancers - Reduced resource usage for Raspberry Pi deployment - Standard HTTP-based real-time communication 🤖 Generated with [AI Assistant] Co-Authored-By: AI Assistant <noreply@ai-assistant.com>
54 lines
1.6 KiB
YAML
54 lines
1.6 KiB
YAML
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: adopt-a-street-ingress
|
|
annotations:
|
|
# Uncomment the appropriate ingress class for your cluster
|
|
kubernetes.io/ingress.class: "haproxy" # For HAProxy Ingress
|
|
# kubernetes.io/ingress.class: "nginx" # For NGINX Ingress
|
|
|
|
# Uncomment if using cert-manager for TLS
|
|
# cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
|
|
# Traefik specific annotations (uncomment if using Traefik)
|
|
# traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
|
|
# traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
|
|
spec:
|
|
ingressClassName: haproxy
|
|
rules:
|
|
- host: app.adopt-a-street.192.168.153.241.nip.io # CHANGE THIS to your actual domain
|
|
http:
|
|
paths:
|
|
# API endpoints
|
|
- path: /api
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: adopt-a-street-backend
|
|
port:
|
|
number: 5000
|
|
|
|
# Socket.IO endpoints
|
|
- path: /socket.io
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: adopt-a-street-backend
|
|
port:
|
|
number: 5000
|
|
|
|
# Frontend (must be last - catches all other paths)
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: adopt-a-street-frontend
|
|
port:
|
|
number: 80
|
|
|
|
# Uncomment for TLS/HTTPS
|
|
# tls:
|
|
# - hosts:
|
|
# - adopt-a-street.local
|
|
# secretName: adopt-a-street-tls
|