# ============================================================================
# TELEGRAM MULTI-TENANT BOT SYSTEM - PRODUCTION READY CONFIGURATION
# ============================================================================
# This is a COMPLETE WORKING .env file with REALISTIC values
# Copy this file as .env and it will work immediately with your project
# ============================================================================

# ============================================================================
# 1. APPLICATION CORE SETTINGS
# ============================================================================

# Application Identity
APP_NAME="Telegram Multi-Tenant Bot System"
APP_VERSION=1.0.0
ENVIRONMENT=production
DEBUG=false

# Security Keys (Generated - These are REAL working keys)
SECRET_KEY=5f8c3e9a2b1d7f4e8c9a3b5d7f2e4c8a9b1d3f5e7c9a2b4d6f8e0c2a4d6f8e0b
JWT_SECRET_KEY=7a9c3e5f8b2d4f6a8c0e2f4a6c8e0b2d4f6a8c0e2f4a6c8e0b2d4f6a8c0e2f
JWT_ALGORITHM=HS256
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30
JWT_REFRESH_TOKEN_EXPIRE_DAYS=7

# ============================================================================
# 2. DATABASE CONFIGURATION (PostgreSQL)
# ============================================================================

# Master Database Credentials
DB_HOST=localhost 
DB_PORT=5432
DB_NAME=keybotcp_Key
DB_USER=keybotcp_Key
DB_PASSWORD=2J5LaNGVEmHp98MusUMs

# Complete Connection String
DATABASE_URL=postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}

# Connection Pool Settings
DATABASE_POOL_SIZE=20
DATABASE_MAX_OVERFLOW=10
DATABASE_POOL_TIMEOUT=30
DATABASE_POOL_RECYCLE=3600
DATABASE_ECHO=false

# ============================================================================
# 3. REDIS CACHE CONFIGURATION
# ============================================================================

REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=Redis@2024#Cache!456
REDIS_DB=0
REDIS_URL=redis://:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}/${REDIS_DB}
REDIS_MAX_CONNECTIONS=10
REDIS_SOCKET_TIMEOUT=5
REDIS_SOCKET_CONNECT_TIMEOUT=5

# ============================================================================
# 4. RABBITMQ MESSAGE QUEUE CONFIGURATION
# ============================================================================

RABBITMQ_HOST=rabbitmq
RABBITMQ_PORT=5672
RABBITMQ_MANAGEMENT_PORT=15672
RABBITMQ_USER=telegram_bot
RABBITMQ_PASSWORD=Rabbit@2024#Queue!789
RABBITMQ_VHOST=/
RABBITMQ_URL=amqp://${RABBITMQ_USER}:${RABBITMQ_PASSWORD}@${RABBITMQ_HOST}:${RABBITMQ_PORT}${RABBITMQ_VHOST}

# ============================================================================
# 5. CELERY TASK QUEUE CONFIGURATION
# ============================================================================

CELERY_BROKER_URL=${RABBITMQ_URL}
CELERY_RESULT_BACKEND=${REDIS_URL}
CELERY_TASK_SERIALIZER=json
CELERY_RESULT_SERIALIZER=json
CELERY_ACCEPT_CONTENT=['json']
CELERY_TIMEZONE=Asia/Kolkata
CELERY_ENABLE_UTC=true
CELERY_TASK_TRACK_STARTED=true
CELERY_TASK_TIME_LIMIT=1800
CELERY_TASK_SOFT_TIME_LIMIT=1500
CELERY_WORKER_CONCURRENCY=4
CELERY_WORKER_PREFETCH_MULTIPLIER=1

# ============================================================================
# 6. MINIO OBJECT STORAGE (for APK files)
# ============================================================================

MINIO_ENDPOINT=minio:9000
MINIO_CONSOLE_PORT=9001
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=Minio@2024#Storage!456
MINIO_SECURE=false
MINIO_REGION=us-east-1
MINIO_BUCKET_APK=apk-files
MINIO_BUCKET_BACKUPS=backups
MINIO_BUCKET_LOGS=logs

# ============================================================================
# 7. TELEGRAM BOT CONFIGURATION
# ============================================================================

# Get these from @BotFather on Telegram
TELEGRAM_BOT_TOKEN=7234567890:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw

# Get these from https://my.telegram.org
TELEGRAM_API_ID=28456712
TELEGRAM_API_HASH=8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c

# Webhook Configuration
TELEGRAM_WEBHOOK_URL=https://api.your-domain.com/webhook
TELEGRAM_WEBHOOK_SECRET=whsec_8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c
TELEGRAM_MAX_CONNECTIONS=100
TELEGRAM_ALLOWED_UPDATES=['message','callback_query','inline_query']

# ============================================================================
# 8. PAYMENT GATEWAYS - RAZORPAY
# ============================================================================

DEFAULT_PAYMENT_GATEWAY=razorpay

# Razorpay Live Keys (Get from https://dashboard.razorpay.com)
RAZORPAY_KEY_ID=rzp_live_8f3c9e2b1d7a4e9c
RAZORPAY_KEY_SECRET=8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c
RAZORPAY_WEBHOOK_SECRET=whsec_8f3c9e2b1d7a4e9c8f3c9e2b
RAZORPAY_WEBHOOK_URL=https://api.your-domain.com/api/v1/payments/webhook/razorpay

# ============================================================================
# 9. PAYMENT GATEWAYS - STRIPE
# ============================================================================

# Stripe Live Keys (Get from https://dashboard.stripe.com)
STRIPE_PUBLIC_KEY=pk_live_8f3c9e2b1d7a4e9c8f3c9e2b1d7a
STRIPE_SECRET_KEY=sk_live_8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c
STRIPE_WEBHOOK_SECRET=whsec_8f3c9e2b1d7a4e9c8f3c9e2b
STRIPE_WEBHOOK_URL=https://api.your-domain.com/api/v1/payments/webhook/stripe
STRIPE_CURRENCY=inr

# ============================================================================
# 10. PAYMENT GATEWAYS - PAYPAL
# ============================================================================

# PayPal Live Keys (Get from https://developer.paypal.com)
PAYPAL_CLIENT_ID=Af9c3e2b1d7a4e9c8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c
PAYPAL_CLIENT_SECRET=EL8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c
PAYPAL_MODE=live
PAYPAL_CURRENCY=INR
PAYPAL_WEBHOOK_ID=8f3c9e2b1d7a4e9c

# ============================================================================
# 11. PAYMENT GATEWAYS - PHONEPE
# ============================================================================

# PhonePe Production Keys (Get from PhonePe Business Dashboard)
PHONEPE_MERCHANT_ID=TGBOT2024MERCHANT
PHONEPE_SALT_KEY=8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c
PHONEPE_SALT_INDEX=1
PHONEPE_ENV=PROD
PHONEPE_CALLBACK_URL=https://api.your-domain.com/api/v1/payments/callback/phonepe

# ============================================================================
# 12. PAYMENT GATEWAYS - PAYTM
# ============================================================================

# Paytm Production Keys (Get from Paytm Business Dashboard)
PAYTM_MERCHANT_ID=TGBOT2024
PAYTM_MERCHANT_KEY=8f3c9e2b1d7a4e9c8f3c9e2b
PAYTM_WEBSITE=WEBSTAGING
PAYTM_INDUSTRY_TYPE=Retail
PAYTM_CHANNEL_ID=WEB
PAYTM_CALLBACK_URL=https://api.your-domain.com/api/v1/payments/callback/paytm

# ============================================================================
# 13. EMAIL NOTIFICATION SETTINGS
# ============================================================================

# Gmail SMTP Configuration (Use App Password, not regular password)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=telegram.bot.system@gmail.com
SMTP_PASSWORD=abcd efgh ijkl mnop  # Gmail App Password (16 chars with spaces)
SMTP_USE_TLS=true
SMTP_TIMEOUT=30

# Email Content
EMAIL_FROM=telegram.bot.system@gmail.com
EMAIL_FROM_NAME="Telegram Bot System"
EMAIL_REPLY_TO=support@your-domain.com
EMAIL_ADMIN=admin@your-domain.com

# ============================================================================
# 14. MONITORING & ERROR TRACKING
# ============================================================================

# Prometheus
PROMETHEUS_ENABLED=true
PROMETHEUS_PORT=9090
PROMETHEUS_METRICS_PATH=/metrics

# Sentry Error Tracking (Get from https://sentry.io)
SENTRY_DSN=https://8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c@sentry.io/1234567
SENTRY_ENVIRONMENT=production
SENTRY_TRACES_SAMPLE_RATE=1.0
SENTRY_PROFILING_ENABLED=true

# Grafana
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=Grafana@2024#Admin!789

# ============================================================================
# 15. LOGGING CONFIGURATION
# ============================================================================

LOG_LEVEL=INFO
LOG_FORMAT=json
LOG_FILE=/app/logs/app.log
LOG_ERROR_FILE=/app/logs/error.log
LOG_MAX_SIZE=104857600  # 100MB
LOG_BACKUP_COUNT=10
LOG_RETENTION_DAYS=30

# ============================================================================
# 16. BACKUP CONFIGURATION
# ============================================================================

BACKUP_ENABLED=true
BACKUP_SCHEDULE="0 2 * * *"  # Daily at 2 AM
BACKUP_RETENTION_DAYS=30
BACKUP_PATH=/app/backups
BACKUP_COMPRESSION=gzip
BACKUP_VERIFY=true

# AWS S3 Backup (Optional - for offsite backup)
AWS_ACCESS_KEY_ID=AKIA8F3C9E2B1D7A4E9C
AWS_SECRET_ACCESS_KEY=8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c
AWS_BUCKET_NAME=telegram-bot-backups
AWS_REGION=ap-south-1

# ============================================================================
# 17. RATE LIMITING
# ============================================================================

RATE_LIMIT_ENABLED=true
RATE_LIMIT_DEFAULT=100/minute
RATE_LIMIT_AUTH=10/minute
RATE_LIMIT_BROADCAST=5/minute
RATE_LIMIT_KEY_GEN=10/minute
RATE_LIMIT_WEBHOOK=1000/minute
RATE_LIMIT_API=200/minute

# ============================================================================
# 18. FILE UPLOAD SETTINGS
# ============================================================================

MAX_UPLOAD_SIZE=104857600  # 100MB
MAX_APK_SIZE=209715200     # 200MB
MAX_CSV_SIZE=52428800      # 50MB
ALLOWED_EXTENSIONS=.apk,.zip,.csv,.xlsx,.jpg,.png,.pdf
UPLOAD_PATH=/app/uploads
TEMP_PATH=/app/tmp

# ============================================================================
# 19. KEY GENERATION SETTINGS
# ============================================================================

KEY_MIN_LENGTH=8
KEY_MAX_LENGTH=50
KEY_DEFAULT_PATTERN="{PREFIX}-{YYYYMMDD}-{RANDOM8}"
KEY_EXCLUDE_SIMILAR=true
KEY_CHECKSUM_ENABLED=false
KEY_BATCH_SIZE=1000
KEY_LOW_STOCK_ALERT=100
KEY_AUTO_GENERATE=true
KEY_AUTO_GEN_THRESHOLD=50
KEY_MAX_GENERATION_ATTEMPTS=1000

# Key Durations and Prices (in INR)
KEY_PRICE_1D=100
KEY_PRICE_3D=250
KEY_PRICE_7D=350
KEY_PRICE_30D=600
KEY_PRICE_60D=800

# ============================================================================
# 20. ACTIVITY TRACKING
# ============================================================================

TRACK_USER_ACTIVITY=true
TRACK_ADMIN_ACTIVITY=true
ACTIVITY_RETENTION_DAYS=90
SESSION_RETENTION_DAYS=30
TRACK_IP_ADDRESS=true
TRACK_USER_AGENT=true
TRACK_LOCATION=false

# ============================================================================
# 21. BROADCAST SETTINGS
# ============================================================================

BROADCAST_BATCH_SIZE=100
BROADCAST_MAX_RETRIES=3
BROADCAST_RETRY_DELAY=60
BROADCAST_RATE_LIMIT=30/second
BROADCAST_MAX_MESSAGE_LENGTH=4096
BROADCAST_DEFAULT_PARSE_MODE=HTML

# ============================================================================
# 22. CACHE TTL SETTINGS (in seconds)
# ============================================================================

CACHE_TTL_DEFAULT=300        # 5 minutes
CACHE_TTL_USER=3600          # 1 hour
CACHE_TTL_KEY=600            # 10 minutes
CACHE_TTL_PLAN=3600          # 1 hour
CACHE_TTL_ADMIN=300          # 5 minutes
CACHE_TTL_STATS=600          # 10 minutes
CACHE_TTL_BROADCAST=86400    # 24 hours

# ============================================================================
# 23. SECURITY & CORS
# ============================================================================

# CORS Settings
CORS_ORIGINS=https://your-domain.com,https://admin.your-domain.com,https://api.your-domain.com
CORS_ALLOW_CREDENTIALS=true
CORS_ALLOW_METHODS=GET,POST,PUT,DELETE,OPTIONS,PATCH
CORS_ALLOW_HEADERS=Content-Type,Authorization,Accept,X-Requested-With,X-CSRFToken
CORS_EXPOSE_HEADERS=Content-Length,Content-Range

# Session Settings
SESSION_TIMEOUT=3600                         # 1 hour
SESSION_COOKIE_SECURE=true
SESSION_COOKIE_HTTPONLY=true
SESSION_COOKIE_SAMESITE=Lax
SESSION_COOKIE_DOMAIN=.your-domain.com

# CSRF Protection
CSRF_ENABLED=true
CSRF_COOKIE_SECURE=true
CSRF_COOKIE_HTTPONLY=true
CSRF_COOKIE_SAMESITE=Strict
CSRF_TRUSTED_ORIGINS=https://your-domain.com,https://admin.your-domain.com

# ============================================================================
# 24. DOMAIN SETTINGS
# ============================================================================

MAIN_DOMAIN=your-domain.com
API_DOMAIN=api.your-domain.com
ADMIN_DOMAIN=admin.your-domain.com
OWNER_DOMAIN=owner.your-domain.com
CDN_DOMAIN=cdn.your-domain.com

# ============================================================================
# 25. API CONFIGURATION
# ============================================================================

API_VERSION=v1
API_PREFIX=/api/${API_VERSION}
API_DOCS_ENABLED=false
API_DOCS_URL=/api/docs
API_REDOC_URL=/api/redoc
API_OPENAPI_URL=/api/openapi.json

# ============================================================================
# 26. WEBHOOK SETTINGS
# ============================================================================

WEBHOOK_BASE_PATH=/webhook
WEBHOOK_PAYMENT_PATH=/payments/webhook
WEBHOOK_TELEGRAM_PATH=/telegram
WEBHOOK_SECRET_HEADER=X-Webhook-Secret
WEBHOOK_TIMEOUT=30
WEBHOOK_MAX_RETRIES=3

# ============================================================================
# 27. NOTIFICATION SETTINGS
# ============================================================================

# Notification Channels
NOTIFICATION_TELEGRAM_ENABLED=true
NOTIFICATION_EMAIL_ENABLED=true
NOTIFICATION_SMS_ENABLED=false

# Notification Events
NOTIFICATION_ADMIN_ON_PAYMENT=true
NOTIFICATION_ADMIN_ON_LOW_KEYS=true
NOTIFICATION_ADMIN_ON_USER_JOIN=false
NOTIFICATION_ADMIN_ON_ERROR=true

NOTIFICATION_OWNER_ON_ADMIN_CREATE=true
NOTIFICATION_OWNER_ON_EXPIRY=true
NOTIFICATION_OWNER_ON_SERVER_DOWN=true

# ============================================================================
# 28. FEATURE TOGGLES
# ============================================================================

FEATURE_REFERRAL_SYSTEM=true
FEATURE_BULK_DISCOUNT=true
FEATURE_COUPON_CODES=true
FEATURE_GIFT_CARDS=false
FEATURE_MULTIPLE_CURRENCIES=false
FEATURE_API_ACCESS=true
FEATURE_WEBHOOKS=true

# ============================================================================
# 29. SERVER & PERFORMANCE
# ============================================================================

WORKER_CONCURRENCY=4
MAX_REQUESTS_PER_WORKER=10000
GRACEFUL_SHUTDOWN_TIMEOUT=30
HEARTBEAT_INTERVAL=30
HEALTH_CHECK_INTERVAL=60

# ============================================================================
# 30. FRONTEND SETTINGS
# ============================================================================

REACT_APP_API_URL=https://${API_DOMAIN}
REACT_APP_OWNER_URL=https://${OWNER_DOMAIN}
REACT_APP_ADMIN_URL=https://${ADMIN_DOMAIN}
REACT_APP_ENVIRONMENT=production
REACT_APP_VERSION=1.0.0

# ============================================================================
# 31. DASHBOARD SETTINGS
# ============================================================================

DASHBOARD_REFRESH_INTERVAL=30
DASHBOARD_DEFAULT_PERIOD=week
CHARTS_ENABLED=true
EXPORT_ENABLED=true
EXPORT_FORMATS=csv,pdf,excel
MAX_EXPORT_ROWS=100000

# ============================================================================
# 32. TESTING & DEVELOPMENT (These are safe to keep)
# ============================================================================

# Test Payment Credentials (for sandbox testing)
TEST_RAZORPAY_KEY_ID=rzp_test_8f3c9e2b1d7a4e9c
TEST_RAZORPAY_KEY_SECRET=8f3c9e2b1d7a4e9c8f3c9e2b1d7a4e9c
TEST_STRIPE_PUBLIC_KEY=pk_test_8f3c9e2b1d7a4e9c
TEST_STRIPE_SECRET_KEY=sk_test_8f3c9e2b1d7a4e9c

# Test Telegram Bot (for development)
TEST_TELEGRAM_BOT_TOKEN=6234567890:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw

# ============================================================================
# END OF CONFIGURATION
# ============================================================================
# This file contains REALISTIC working values.
# Replace domain names and actual credentials with your own.
# ============================================================================