2025-09-13 14:18:28 +02:00

228 lines
5.4 KiB
Plaintext

# Environment Configuration Template
# Copy this file to .env and update with your actual values
# ================================
# HETZNER CONFIGURATION
# ================================
# Hetzner Cloud API Token (get from Hetzner Cloud Console)
HCLOUD_TOKEN=your_hcloud_token_here
# Hetzner Robot API credentials (for dedicated servers)
ROBOT_API_USER=your_robot_username
ROBOT_API_PASSWORD=your_robot_password
# ================================
# SSH CONFIGURATION
# ================================
# SSH public key content (paste the full key)
SSH_PUBLIC_KEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7... your-email@domain.com"
# Path to SSH private key
SSH_PRIVATE_KEY_PATH=~/.ssh/hetzner_key
# SSH key name in Hetzner Cloud
SSH_KEY_NAME=ai-infrastructure
# ================================
# DOMAIN CONFIGURATION
# ================================
# Domain for API endpoint (optional, can use IP)
API_DOMAIN=api.yourdomain.com
# Domain for monitoring dashboard (optional)
MONITORING_DOMAIN=monitoring.yourdomain.com
# ================================
# ENVIRONMENT SETTINGS
# ================================
# Deployment environment (dev, staging, production)
ENVIRONMENT=production
# Project name for resource tagging
PROJECT_NAME=ai-infrastructure
# Cost center for billing tracking
COST_CENTER=engineering
# ================================
# SECURITY CONFIGURATION
# ================================
# Grafana admin password (change this!)
GRAFANA_ADMIN_PASSWORD=change_this_secure_password
# Ansible Vault password (change this!)
ANSIBLE_VAULT_PASSWORD=change_this_vault_password
# Allowed IP ranges for SSH access (comma-separated CIDR blocks)
# Use 0.0.0.0/0 for testing only, restrict in production
ALLOWED_SSH_CIDRS=203.0.113.0/24,198.51.100.0/24
# ================================
# GITLAB CI/CD CONFIGURATION
# ================================
# GitLab personal access token (for CI/CD)
GITLAB_TOKEN=your_gitlab_token_here
# GitLab project URL for ansible-pull
ANSIBLE_REPO_URL=https://gitlab.com/yourorg/ai-infrastructure.git
# GitLab deploy token (for repository access)
GITLAB_DEPLOY_TOKEN=your_deploy_token
# ================================
# AUTO-SCALING CONFIGURATION
# ================================
# Minimum number of GEX44 servers
MIN_GEX44_COUNT=1
# Maximum number of GEX44 servers
MAX_GEX44_COUNT=5
# GPU utilization threshold for scaling up (0.0-1.0)
SCALE_UP_THRESHOLD=0.8
# GPU utilization threshold for scaling down (0.0-1.0)
SCALE_DOWN_THRESHOLD=0.3
# ================================
# MODEL CONFIGURATION
# ================================
# Default model to deploy
DEFAULT_MODEL=mixtral-8x7b
# Models to download and cache
MODELS_TO_DOWNLOAD=mixtral-8x7b,llama2-70b,codellama-34b
# HuggingFace token (for private models, optional)
HUGGINGFACE_TOKEN=your_hf_token
# ================================
# MONITORING CONFIGURATION
# ================================
# Prometheus data retention period
PROMETHEUS_RETENTION=30d
# Grafana data retention period
GRAFANA_RETENTION=90d
# Alert email address
ALERT_EMAIL=alerts@yourdomain.com
# Slack webhook URL for alerts (optional)
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
# ================================
# BACKUP CONFIGURATION
# ================================
# Enable automated backups
BACKUP_ENABLED=true
# Backup retention period (days)
BACKUP_RETENTION_DAYS=7
# Backup storage location (S3 bucket, etc.)
BACKUP_STORAGE_URL=s3://your-backup-bucket/ai-infrastructure
# ================================
# PERFORMANCE TUNING
# ================================
# Load balancer server type
LOAD_BALANCER_TYPE=cx31
# API Gateway server type
API_GATEWAY_TYPE=cx31
# Monitoring server type
MONITORING_TYPE=cx21
# Additional storage size (GB)
ADDITIONAL_STORAGE_SIZE=500
# ================================
# DEVELOPMENT/TESTING
# ================================
# API URL for testing (set automatically in CI/CD)
API_URL=https://api.yourdomain.com
# Enable development tools
DEV_TOOLS_ENABLED=false
# Skip SSL verification for testing
SKIP_SSL_VERIFY=false
# ================================
# COST TRACKING
# ================================
# Currency for cost reporting
COST_CURRENCY=EUR
# Cost tracking tags
COST_TAGS=project:ai-infrastructure,team:engineering,environment:production
# Budget alert threshold (monthly EUR)
BUDGET_ALERT_THRESHOLD=1000
# ================================
# ADVANCED CONFIGURATION
# ================================
# Enable cloud load balancer (alternative to HAProxy)
ENABLE_CLOUD_LB=false
# Enable floating IP for HA
ENABLE_FLOATING_IP=false
# Enable advanced monitoring
ENABLE_ADVANCED_MONITORING=true
# Network zone
NETWORK_ZONE=eu-central
# Private network CIDR
PRIVATE_NETWORK_CIDR=10.0.0.0/16
# GEX44 subnet
GEX44_SUBNET=10.0.1.0/24
# Cloud subnet
CLOUD_SUBNET=10.0.2.0/24
# ================================
# TERRAFORM BACKEND
# ================================
# Terraform state backend type (gitlab, s3, local)
TF_BACKEND_TYPE=gitlab
# S3 backend configuration (if using S3)
TF_STATE_BUCKET=your-terraform-state-bucket
TF_STATE_REGION=eu-central-1
# GitLab backend configuration (if using GitLab)
TF_GITLAB_PROJECT_ID=12345
# ================================
# LOGGING CONFIGURATION
# ================================
# Log level (DEBUG, INFO, WARNING, ERROR)
LOG_LEVEL=INFO
# Centralized logging (optional)
LOG_AGGREGATION_URL=https://logs.yourdomain.com
# Log retention period (days)
LOG_RETENTION_DAYS=30