Files
aitbc/infra/terraform/environments/prod/main.tf
oib 15427c96c0 chore: update file permissions to executable across repository
- Change file mode from 644 to 755 for all project files
- Add chain_id parameter to get_balance RPC endpoint with default "ait-devnet"
- Rename Miner.extra_meta_data to extra_metadata for consistency
2026-03-06 22:17:54 +01:00

61 lines
1.8 KiB
HCL
Executable File

# Production environment configuration
terraform {
source = "../../modules/kubernetes"
}
include "root" {
path = find_in_parent_folders()
}
inputs = {
cluster_name = "aitbc-prod"
environment = "prod"
aws_region = "us-west-2"
vpc_cidr = "10.2.0.0/16"
private_subnet_cidrs = ["10.2.1.0/24", "10.2.2.0/24", "10.2.3.0/24"]
public_subnet_cidrs = ["10.2.101.0/24", "10.2.102.0/24", "10.2.103.0/24"]
availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"]
kubernetes_version = "1.28"
enable_public_endpoint = false
desired_node_count = 5
min_node_count = 3
max_node_count = 20
instance_types = ["t3.xlarge", "t3.2xlarge", "m5.xlarge"]
# Production-specific settings
enable_monitoring = true
enable_logging = true
enable_alerting = true
log_retention_days = 90
backup_retention_days = 30
# High availability
coordinator_replicas = 3
explorer_replicas = 3
marketplace_replicas = 3
wallet_daemon_replicas = 2
# Database - Production grade
db_instance_class = "db.r5.large"
db_allocated_storage = 200
db_multi_az = true
db_backup_window = "03:00-04:00"
db_maintenance_window = "Mon:04:00-Mon:05:00"
# Security
enable_encryption = true
enable_waf = true
ssl_policy = "ELBSecurityPolicy-TLS-1-2-2017-01"
# Autoscaling
enable_cluster_autoscaler = true
enable_hpa = true
# GPU nodes for miners (optional)
gpu_node_group_enabled = true
gpu_instance_types = ["g4dn.xlarge", "g4dn.2xlarge"]
gpu_min_nodes = 0
gpu_max_nodes = 10
}