Deployment
This guide covers deploying Tarasol to production environments.
Production Topology
Production Deployment Topology
Loading diagram...
Health Check Endpoints
Every service exposes health endpoints:
| Endpoint | Purpose |
|---|---|
GET /health | Overall service health |
GET /health/db | Database connectivity |
GET /health/redis | Redis connectivity |
GET /health/rabbitmq | RabbitMQ connectivity |
Scaling Considerations
| Service | Scaling Strategy | Notes |
|---|---|---|
| Gateway | Horizontal | Stateless — scale behind load balancer |
| Identity | Horizontal | Session stored in Redis |
| CMS | Horizontal | Stateless |
| Notification Workers | Horizontal | Add workers for throughput |
| Media | Vertical + Horizontal | Memory-intensive (image processing) |
| Search | Vertical | Elasticsearch handles distribution |
Environment Configuration
⚠Warning
Never commit production environment files to version control. Use environment variable injection from your deployment platform (Kubernetes secrets, AWS Parameter Store, etc.).
Required for All Services
| Name | Type | Default | Description |
|---|---|---|---|
| NODE_ENV | string | production | Must be 'production' |
| DB_HOST | string | - | Production SQL Server host |
| DB_USERNAME | string | - | Production database user |
| DB_PASSWORD | string | - | Production database password |
| REDIS_HOST | string | - | Production Redis host |
| RABBITMQ_URIS | string | - | Production RabbitMQ URIs |
| JWT_SECRET | string | - | Production JWT signing secret |
| ELASTIC_APM_SERVER_URL | string | - | APM server URL |