-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
99 lines (83 loc) · 5.35 KB
/
.env.example
File metadata and controls
99 lines (83 loc) · 5.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# ╔══════════════════════════════════════════════════════════════════╗
# ║ TicketFlow Environment Variables ║
# ║ Copy this file to .env and fill in your values ║
# ╚══════════════════════════════════════════════════════════════════╝
# ─────────────────────────────────────────────
# SECURITY
# ─────────────────────────────────────────────
# JWT secret: minimum 32 characters, use a random string in production
# Generate with: openssl rand -base64 64
JWT_SECRET=dev-secret-change-in-production-must-be-at-least-32-chars-long
# ─────────────────────────────────────────────
# DATABASES
# ─────────────────────────────────────────────
# PostgreSQL (used by: User Service, Booking Service, Inventory Service)
DB_USERNAME=postgres
DB_PASSWORD=postgres
# MongoDB (used by: Event Service, Payment Service, Notification Service)
MONGO_USERNAME=mongo
MONGO_PASSWORD=mongo
# Redis (used by: Inventory Service for distributed seat locking)
REDIS_PASSWORD=redis_dev_password
REDIS_URL=redis://localhost:6379
# ─────────────────────────────────────────────
# SERVICE URLS (for local development without Docker)
# ─────────────────────────────────────────────
USER_SERVICE_URL=http://localhost:3001
EVENT_SERVICE_URL=http://localhost:3002
BOOKING_SERVICE_URL=http://localhost:3003
INVENTORY_SERVICE_URL=http://localhost:3004
PAYMENT_SERVICE_URL=http://localhost:3005
NOTIFICATION_SERVICE_URL=http://localhost:3006
# ─────────────────────────────────────────────
# INDIVIDUAL SERVICE DATABASE URLS
# ─────────────────────────────────────────────
# PostgreSQL connection strings for each service
USER_DB_URL=jdbc:postgresql://localhost:5432/ticketflow_users
BOOKING_DB_URL=jdbc:postgresql://localhost:5432/ticketflow_bookings
INVENTORY_DB_URL=postgresql://postgres:postgres@localhost:5432/ticketflow_inventory
# MongoDB connection strings for each service
EVENT_MONGODB_URL=mongodb://mongo:mongo@localhost:27017
PAYMENT_MONGODB_URL=mongodb://mongo:mongo@localhost:27017
NOTIFICATION_MONGODB_URL=mongodb://mongo:mongo@localhost:27017
# ─────────────────────────────────────────────
# MESSAGING - APACHE KAFKA
# ─────────────────────────────────────────────
# Use 9093 from localhost (9092 is internal docker-to-docker)
KAFKA_BOOTSTRAP_SERVERS=localhost:9093
# ─────────────────────────────────────────────
# EMAIL (SMTP)
# ─────────────────────────────────────────────
# For development: use Mailpit (http://localhost:8025)
SMTP_HOST=localhost
SMTP_PORT=1025
SMTP_FROM=noreply@ticketflow.com
SMTP_USERNAME=
SMTP_PASSWORD=
# For production: use a real SMTP provider (e.g., SendGrid, AWS SES)
# SMTP_HOST=smtp.sendgrid.net
# SMTP_PORT=587
# SMTP_USERNAME=apikey
# SMTP_PASSWORD=your-sendgrid-api-key
# ─────────────────────────────────────────────
# PAYMENT
# ─────────────────────────────────────────────
# Success rate for mock payment (0.0 to 1.0, default 0.95 = 95% success)
# Set to 1.0 to always succeed, 0.0 to always fail (for testing)
PAYMENT_SUCCESS_RATE=0.95
RAZORPAY_KEY_ID=
RAZORPAY_KEY_SECRET=
# ─────────────────────────────────────────────
# FRONTEND
# ─────────────────────────────────────────────
VITE_API_BASE_URL=http://localhost:3000
# For production
FRONTEND_API_URL=https://api.yourdomain.com
# ─────────────────────────────────────────────
# KUBERNETES (production overrides)
# ─────────────────────────────────────────────
# These are used when deploying to Kubernetes
# Replace with actual values from your K8s secrets
K8S_NAMESPACE=ticketflow
DOCKER_REGISTRY=your-registry.io/ticketflow
IMAGE_TAG=latest