mirror of
https://github.com/karpathy/nanochat.git
synced 2026-05-11 18:30:27 +00:00
Add reusable Terraform modules and per-environment configs (dev/uat/prod) in us-west-2 covering: VPC (3 AZ public/private), EKS 1.29 with IRSA and ALB/EBS/EFS CSI add-ons, RDS PostgreSQL 15, four ECR repos, IAM roles (EKS node, ALB controller IRSA, GitHub Actions OIDC), Route53 + ACM for samosachaat.art, and EFS for model weights. State backend on S3 (samosachaat-terraform-state) with DynamoDB lock table. terraform validate passes for dev, uat, and prod. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
33 lines
899 B
HCL
33 lines
899 B
HCL
variable "domain_name" {
|
|
description = "Apex domain (e.g. samosachaat.art). A hosted zone for this domain must already exist."
|
|
type = string
|
|
}
|
|
|
|
variable "subdomains" {
|
|
description = "Subdomains to alias to the ALB (e.g. [\"grafana\", \"api\"])."
|
|
type = list(string)
|
|
default = ["grafana"]
|
|
}
|
|
|
|
variable "alb_dns_name" {
|
|
description = "ALB DNS name from the AWS Load Balancer Controller. Empty string skips A-record creation (first-apply bootstrap)."
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "alb_zone_id" {
|
|
description = "ALB hosted-zone ID (region-specific)."
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "acm_validation_records" {
|
|
description = "Map keyed by domain → { name, type, record } — pass module.acm.validation_records here."
|
|
type = map(object({
|
|
name = string
|
|
type = string
|
|
record = string
|
|
}))
|
|
default = {}
|
|
}
|