anthropic-skills/scripts
Claude 206145df56
feat: Implement production deployment infrastructure with Blue-Green strategy
Add comprehensive deployment automation and operational tooling:

## GitHub Actions Deployment Workflow
- `.github/workflows/deploy-production.yml`: Full CI/CD pipeline
  - Pre-deployment validation (version format, breaking changes)
  - Multi-stage Docker builds with caching
  - Security scanning (Trivy for vulnerabilities)
  - Automated staging deployment on main branch push
  - Blue-Green production deployment on version tags (v*.*.*)
  - Health checks and smoke tests
  - Automatic rollback on failure
  - 5-minute post-deployment monitoring
  - GitHub release creation

## Docker Production Infrastructure
- `docker/Dockerfile.frontend`: Multi-stage build with nginx
  - Production optimizations (remove source maps, compression)
  - Health check endpoint
  - Non-root user for security
  - Static asset caching

- `docker/Dockerfile.backend`: Production Python backend
  - System dependencies (ffmpeg, libsndfile)
  - Gunicorn with Uvicorn workers
  - Health check endpoint
  - Non-root user for security

- `docker/nginx.conf`: High-performance nginx configuration
  - Gzip compression for all assets
  - Security headers (X-Frame-Options, CSP, etc.)
  - Performance optimizations (sendfile, tcp_nopush)

- `docker/nginx-default.conf`: Application routing
  - API proxy with WebSocket support
  - Static asset caching (1 year for immutable assets)
  - SPA routing for React app
  - Content Security Policy

## Docker Compose Configurations
- `docker-compose.staging.yml`: Staging environment
  - Frontend, Backend, PostgreSQL, Redis, Celery
  - Debug logging enabled
  - Separate network isolation

- `docker-compose.production.yml`: Production with Blue-Green support
  - Resource limits (CPU, memory)
  - Health checks for all services
  - Optimized PostgreSQL configuration
  - Redis persistence with AOF
  - Multiple Celery workers with task limits
  - Nginx reverse proxy
  - Proper volume management
  - Production logging (JSON format, rotation)

## Environment Configuration
- `.env.staging.example`: Staging environment template
  - Database, Redis, JWT configuration
  - API URLs and CORS settings
  - Feature flags

- `.env.production.example`: Production template
  - Security-focused defaults
  - Blue-Green deployment variables
  - Monitoring integrations (Sentry, analytics)
  - Email, AWS/S3 configuration
  - Performance tuning settings

## Health Check System
- `backend/app/api/endpoints/health.py`: Comprehensive health endpoints
  - `/health`: Simple load balancer check
  - `/health/ready`: Readiness with dependency validation
  - `/health/live`: Kubernetes liveness probe
  - `/health/detailed`: Full system metrics (CPU, memory, disk)
  - `/health/startup`: Startup probe with migration checks
  - `/metrics`: Prometheus-compatible metrics

- `public/health.html`: Frontend health check page

- Updated `backend/app/main.py`: Include health router

## Documentation
- `DEPLOYMENT.md`: Complete deployment guide (200+ lines)
  - Prerequisites and infrastructure requirements
  - Initial server setup instructions
  - SSL certificate configuration
  - Automatic and manual deployment procedures
  - Blue-Green deployment strategy
  - Environment configuration
  - Health check documentation
  - Monitoring and troubleshooting
  - Rollback procedures
  - Backup and recovery
  - Scaling guidelines
  - Security checklist

- `RUNBOOK.md`: Operations manual (300+ lines)
  - Emergency procedures (site down, DB failure, high load)
  - Daily health check scripts
  - Deployment procedures
  - Incident response playbook (P0-P3 severity levels)
  - Weekly and monthly maintenance tasks
  - Performance optimization guides
  - Monitoring setup
  - Contact and escalation paths

## Deployment Scripts
- `scripts/health-check.sh`: Automated health verification
  - Frontend, backend, readiness checks
  - Detailed metrics option
  - Multi-environment support

- `scripts/deploy.sh`: Semi-automated deployment
  - Pre-deployment validation
  - Automatic backup creation
  - Blue-Green deployment for production
  - Health check verification
  - Rollback on failure

## Infrastructure Improvements
- Updated `backend/pyproject.toml`:
  - Added gunicorn for production server
  - Added psutil for system monitoring

- `.dockerignore`: Optimize Docker build context

## Deployment Features

### Blue-Green Deployment Strategy
- Zero-downtime deployments
- Instant rollback capability
- Health check validation before traffic switch
- Automatic cleanup of old environment

### Security
- Non-root containers
- Security headers (CSP, X-Frame-Options, HSTS)
- Vulnerability scanning in CI/CD
- Environment variable validation
- SSL/TLS enforcement

### Performance
- Multi-stage Docker builds
- Layer caching for faster builds
- Gzip compression
- Static asset caching
- Database connection pooling
- Redis caching layer

### Reliability
- Health checks at multiple levels
- Automatic restart on failure
- Resource limits to prevent resource exhaustion
- Database backups before deployment
- Comprehensive logging

### Monitoring
- Prometheus metrics endpoint
- System resource monitoring (CPU, memory, disk)
- Database pool statistics
- Cache hit rates
- Container health status

## Usage

**Deploy to Staging:**
```bash
git push origin main  # Auto-deploys via GitHub Actions
```

**Deploy to Production:**
```bash
git tag -a v1.0.1 -m "Release v1.0.1"
git push origin v1.0.1  # Auto-deploys via GitHub Actions
```

**Manual Deployment:**
```bash
./scripts/deploy.sh production v1.0.1
```

**Health Check:**
```bash
./scripts/health-check.sh production --detailed
```

This infrastructure provides enterprise-grade deployment automation with:
✅ Zero-downtime deployments
✅ Automatic rollback on failure
✅ Comprehensive health monitoring
✅ Security best practices
✅ Performance optimization
✅ Complete operational documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 09:58:45 +00:00
..
deploy.sh feat: Implement production deployment infrastructure with Blue-Green strategy 2025-10-25 09:58:45 +00:00
health-check.sh feat: Implement production deployment infrastructure with Blue-Green strategy 2025-10-25 09:58:45 +00:00