Files
adopt-a-street/deploy/k8s/ingress.yaml
William Valentin bb9c8ec1c3 feat: Migrate from Socket.IO to Server-Sent Events (SSE)
- 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>
2025-12-05 22:49:22 -08:00

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