hearth/terraform/variables.tf
Eric Garcia e78000831e Initial commit: Port infrastructure from coherence-mcp
Hearth is the infrastructure home for the letemcook ecosystem.

Ported from coherence-mcp/infra:
- Terraform modules (VPC, EKS, IAM, NLB, S3, storage)
- Kubernetes manifests (Forgejo, ingress, cert-manager, karpenter)
- Deployment scripts (phased rollout)

Status: Not deployed. EKS cluster needs to be provisioned.

Next steps:
1. Bootstrap terraform backend
2. Deploy phase 1 (foundation)
3. Deploy phase 2 (core services including Forgejo)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 06:06:13 -05:00

85 lines
2.1 KiB
HCL

# Foundation Infrastructure - Root Variables
# RFC 0039: ADR-Compliant Foundation Infrastructure
variable "project_name" {
description = "Project name used for resource naming"
type = string
default = "alignment"
}
variable "environment" {
description = "Environment name (production, staging)"
type = string
default = "production"
validation {
condition = contains(["production", "staging"], var.environment)
error_message = "Environment must be 'production' or 'staging'."
}
}
variable "aws_region" {
description = "AWS region for deployment"
type = string
default = "us-east-1"
}
variable "vpc_cidr" {
description = "CIDR block for VPC"
type = string
default = "10.0.0.0/16"
}
variable "enable_fips" {
description = "Enable FIPS 140-2 compliance mode"
type = bool
default = true
}
variable "kubernetes_version" {
description = "Kubernetes version for EKS"
type = string
default = "1.29"
}
variable "cockroachdb_node_count" {
description = "Number of CockroachDB nodes (minimum 3 for HA)"
type = number
default = 3
validation {
condition = var.cockroachdb_node_count >= 3
error_message = "CockroachDB requires minimum 3 nodes for HA."
}
}
variable "cockroachdb_instance_type" {
description = "EC2 instance type for CockroachDB nodes"
type = string
default = "m6i.large"
}
variable "tags" {
description = "Common tags applied to all resources"
type = map(string)
default = {}
}
variable "log_retention_days" {
description = "Number of days to retain logs in Loki S3 bucket"
type = number
default = 90
}
variable "trace_retention_days" {
description = "Number of days to retain traces in Tempo S3 bucket"
type = number
default = 30
}
# RFC 0046: Domain Email Migration - DNS Static IPs
variable "enable_dns_static_ips" {
description = "Enable Elastic IPs for DNS NLB to support stable glue records for domain delegation"
type = bool
default = true
}