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>
85 lines
2.1 KiB
HCL
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
|
|
}
|