Commit Graph

5 Commits

Author SHA1 Message Date
William Valentin
5f1ca46695 fix: correct Docker image names in Kubernetes deployments
Update Kubernetes deployment image references to match the actual
image names pushed to the Gitea registry:
- adopt-a-street/backend -> adopt-a-street-backend
- adopt-a-street/frontend -> adopt-a-street-frontend

Also remove node affinity preference from backend deployment to allow
more flexible pod scheduling, and fix registry-secret namespace to
align with current deployment structure.

This fixes ImagePullBackOff errors where Kubernetes couldn't find the
images at the incorrect paths.

🤖 Generated with OpenCode

Co-Authored-By: AI Assistant <noreply@ai-assistant.com>
2025-12-06 12:15:46 -08:00
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
William Valentin
bb2af4eee7 fix: comprehensive Kubernetes configuration review and fixes
- Add namespace.yaml to create adopt-a-street namespace
- Add namespace to all resource metadata (Services, Deployments, StatefulSet, ConfigMap, Secrets, Ingress)
- Fix CouchDB NODENAME to proper StatefulSet format (adopt-a-street-couchdb-0.adopt-a-street-couchdb)
- Add missing environment variables (STRIPE, OPENAI, CouchDB connection pool settings)
- Fix duplicate Cloudinary variables between ConfigMap and Secrets
- Remove duplicate registry-secret.yaml file (security risk)
- Remove unused couchdb-configmap.yaml
- Complete rewrite of DEPLOYMENT_GUIDE.md with namespace-aware instructions
- Add comprehensive CHANGES.md documenting all fixes and rationale

Fixes address all HIGH and MEDIUM priority issues identified in configuration review:
- Namespace configuration (HIGH)
- Missing resources (HIGH)
- CouchDB NODENAME format (MEDIUM)
- Missing environment variables (MEDIUM)
- Duplicate files (MEDIUM)
- Documentation updates (MEDIUM)

All health checks verified, service discovery tested, and deployment process documented.

🤖 Generated with AI Assistant

Co-Authored-By: AI Assistant <noreply@ai-assistant.com>
2025-12-05 12:27:02 -08:00
William Valentin
cae0861f28 fix(k8s): correct registry server name in registry-secret.yaml
Changed registry server from:
  gitea-http.taildb3494.ts.net
to:
  gitea-gitea-http.taildb3494.ts.net

This matches the actual Gitea HTTP service name in the Kubernetes cluster.

🤖 Generated with OpenCode

Co-Authored-By: OpenCode <noreply@opencode.com>
2025-11-05 12:55:26 -08:00
William Valentin
9ffe07b9a9 feat(k8s): integrate registry secret into deployment workflow
- Add deploy/k8s/registry-secret.yaml with Gitea registry credentials
- Make registry-secret namespace-agnostic (removed hardcoded 'tools' namespace)
- Update k8s-deploy target to automatically apply registry secret
- Simplify deployment workflow - no longer requires manual k8s-secret-create step
- Update help documentation to reflect streamlined deployment process

The registry secret is now automatically deployed to the target namespace,
making the deployment workflow more convenient and consistent across all
environments (dev, staging, prod).

🤖 Generated with OpenCode

Co-Authored-By: OpenCode <noreply@opencode.com>
2025-11-05 12:50:49 -08:00