Phase 6: Application Deployment

Duration: 15-30 minutes
Purpose: Deploy and verify the Blueberry application
Dependencies: Phase 5 complete, CI/CD working

Overview

This phase deploys the Blueberry application and verifies all components are working correctly. It includes Firebase authentication setup and end-to-end testing of the complete system.

📋 Setup Steps

  1. First Deployment
  2. Deploy Blueberry application via ArgoCD
  3. Monitor deployment progress
  4. Verify all pods are running

  5. Application Verification

  6. Test web interface accessibility
  7. Verify API endpoints
  8. Check database connectivity

  9. Firebase Auth Setup

  10. Configure Firebase Authentication
  11. Set up user management
  12. Test login/logout flows

  13. Notification Testing

  14. Test Slack notification integration
  15. Verify webhook delivery
  16. Check notification formatting

🎯 Success Criteria

After completing this phase, you should have:

  1. Application Running - Blueberry app accessible at https://blueberry.florenciacomuzzi.com
  2. Authentication Working - Firebase Auth login/logout functional
  3. Database Connected - Firestore integration operational
  4. Notifications Working - Slack integration delivering messages
  5. End-to-End Test - Complete user journey successful

⏭️ Next Phase

Once the application is deployed and verified, proceed to Phase 7: Operations & Monitoring

🔧 Key Commands

# Check application deployment status
kubectl get applications -n argocd blueberry
kubectl get pods -n blueberry
kubectl get services -n blueberry

# View application logs
kubectl logs -n blueberry deployment/blueberry -f

# Test application endpoints
curl -I https://blueberry.florenciacomuzzi.com
curl https://blueberry.florenciacomuzzi.com/api/health/health

# Check ingress and certificates
kubectl get ingress -n blueberry
kubectl get managedcertificate -n blueberry

# Monitor ArgoCD sync status
kubectl describe application blueberry -n argocd

📊 Application Components

Component Purpose Status Check
Blueberry App Main application kubectl get pods -n blueberry
Redis Cache and sessions kubectl get pods -n blueberry -l app=redis
Ingress Traffic routing kubectl get ingress -n blueberry
Service Load balancing kubectl get services -n blueberry
ConfigMap Configuration kubectl get configmap -n blueberry

🔗 Application URLs

  • Main Application: https://blueberry.florenciacomuzzi.com
  • Health Check: https://blueberry.florenciacomuzzi.com/api/health/health
  • API Documentation: https://blueberry.florenciacomuzzi.com/docs
  • ArgoCD Dashboard: https://argocd.florenciacomuzzi.com

⏰ Timing Considerations

  • Initial Deployment: 5-10 minutes
  • SSL Certificate: 10-15 minutes (if not already provisioned)
  • Application Startup: 2-3 minutes
  • End-to-End Testing: 10-15 minutes

🚨 Common Issues

  • Pod Startup Failures: Check resource limits and image pull
  • SSL Certificate Issues: Verify DNS and certificate status
  • Database Connection: Check Firestore permissions and credentials
  • Image Pull Errors: Verify Artifact Registry access

📱 Testing Checklist

  • [ ] Application loads in browser
  • [ ] Login with Firebase Auth works
  • [ ] Environment creation functions
  • [ ] API endpoints respond correctly
  • [ ] Slack notifications are delivered
  • [ ] ArgoCD shows healthy status

📚 Documentation

Document ID: setup/06-deployment/README