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>
52 lines
1.2 KiB
HCL
52 lines
1.2 KiB
HCL
# VPC Module - Variables
|
|
# RFC 0039: ADR-Compliant Foundation Infrastructure
|
|
|
|
variable "name" {
|
|
description = "Name prefix for all VPC resources"
|
|
type = string
|
|
}
|
|
|
|
variable "cidr" {
|
|
description = "VPC CIDR block"
|
|
type = string
|
|
default = "10.0.0.0/16"
|
|
|
|
validation {
|
|
condition = can(cidrhost(var.cidr, 0))
|
|
error_message = "CIDR block must be a valid IPv4 CIDR."
|
|
}
|
|
}
|
|
|
|
variable "availability_zones" {
|
|
description = "List of availability zones to use (minimum 3 for HA)"
|
|
type = list(string)
|
|
|
|
validation {
|
|
condition = length(var.availability_zones) >= 3
|
|
error_message = "Minimum 3 availability zones required for HA."
|
|
}
|
|
}
|
|
|
|
variable "enable_nat_gateway" {
|
|
description = "Enable NAT Gateway for private subnet internet access"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "single_nat_gateway" {
|
|
description = "Use a single NAT Gateway instead of one per AZ (cost vs HA tradeoff)"
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "enable_flow_logs" {
|
|
description = "Enable VPC Flow Logs for security auditing"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "tags" {
|
|
description = "Tags to apply to all resources"
|
|
type = map(string)
|
|
default = {}
|
|
}
|