Deployment Reference
Complete guide to deploying OLIVE in development, staging, and production environments.Prerequisites
Docker
Docker 20.10+ and Docker Compose v2
Go
Go 1.21+ (for local builds)
Node.js
Node.js 18+ (for Agent-TS)
Local Development
Docker Compose (Recommended)
The fastest way to get OLIVE running locally:Verify Services
Manual Setup
For development without Docker:Production Deployment
Kubernetes
Render (Cloud)
Deploy using the includedrender.yaml:
Environment Variables
Required Variables
| Variable | Service | Description |
|---|---|---|
DATABASE_URL | All | PostgreSQL connection string |
JWT_SECRET | Gateway | JWT signing secret (32+ chars) |
OPENAI_API_KEY | Agent-TS | OpenAI API key |
GATEWAY_API_KEY | Agent-TS | Internal service key |
Optional Variables
| Variable | Service | Default | Description |
|---|---|---|---|
PORT | All | 8080/8000/50051 | Service port |
LOG_LEVEL | All | info | Logging level |
WALLET_CORE_ADDRESS | Gateway | localhost:50051 | Wallet-Core gRPC address |
AWS_S3_BUCKET_NAME | Agent-TS | - | KYC document storage |
TLS/mTLS Configuration
Enable TLS on Wallet-Core
Enable TLS on Gateway
Generate Certificates
Health Checks
| Service | Endpoint | Protocol |
|---|---|---|
| Gateway | GET /health | HTTP |
| Agent-TS | GET /health | HTTP |
| Wallet-Core | gRPC Health | gRPC |
Health Check Response
Scaling
Horizontal Scaling
Resource Limits
Database Scaling
- Use connection pooling (PgBouncer)
- Add read replicas for queries
- Consider sharding for high write volume
Monitoring
Prometheus Metrics
All services expose Prometheus-compatible metrics:| Service | Endpoint |
|---|---|
| Gateway | http://gateway:9090/metrics |
| Wallet-Core | http://wallet-core:9091/metrics |
Key Metrics
http_requests_total- Request count by statushttp_request_duration_seconds- Latency histogramgrpc_server_handled_total- gRPC call countwallet_transactions_total- Transaction count
Backup and Recovery
Database Backup
Backup Schedule
| Type | Frequency | Retention |
|---|---|---|
| Full backup | Daily | 30 days |
| Transaction logs | Continuous | 7 days |
| Point-in-time | Enabled | 24 hours |
Security Checklist
- TLS/mTLS enabled on all services
- Strong JWT secrets configured (32+ chars)
- Rate limiting enabled and tuned
- Database encrypted (at-rest and in-transit)
- Audit logging enabled
- Firewall rules configured
- Network policies in Kubernetes
- Regular backups configured
- Monitoring and alerting active
Related
Security Reference
Security configuration details
Troubleshooting
Common issues and solutions