Table of Contents
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
- First Deployment
- Deploy Blueberry application via ArgoCD
- Monitor deployment progress
-
Verify all pods are running
- Test web interface accessibility
- Verify API endpoints
-
Check database connectivity
- Configure Firebase Authentication
- Set up user management
-
Test login/logout flows
- Test Slack notification integration
- Verify webhook delivery
- Check notification formatting
🎯 Success Criteria
After completing this phase, you should have:
- Application Running - Blueberry app accessible at
https://blueberry.florenciacomuzzi.com
- Authentication Working - Firebase Auth login/logout functional
- Database Connected - Firestore integration operational
- Notifications Working - Slack integration delivering messages
- 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