228 lines
5.4 KiB
Plaintext
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 |