104 lines
3.1 KiB
HCL
104 lines
3.1 KiB
HCL
# ──────────────────────────────────────────────
|
|
# General
|
|
# ──────────────────────────────────────────────
|
|
variable "aws_region" {
|
|
description = "AWS region"
|
|
type = string
|
|
default = "us-east-1"
|
|
}
|
|
|
|
variable "project_name" {
|
|
description = "Project name used for resource naming"
|
|
type = string
|
|
}
|
|
|
|
variable "environment" {
|
|
description = "Environment (dev, staging, prod)"
|
|
type = string
|
|
}
|
|
|
|
variable "tags" {
|
|
description = "Tags applied to all resources"
|
|
type = map(string)
|
|
default = {}
|
|
}
|
|
|
|
# ──────────────────────────────────────────────
|
|
# Network
|
|
# ──────────────────────────────────────────────
|
|
variable "vpc_id" {
|
|
description = "VPC ID where resources will be created"
|
|
type = string
|
|
}
|
|
|
|
variable "subnet_id" {
|
|
description = "Subnet ID for the EC2 instance (must be public for associate_public_ip)"
|
|
type = string
|
|
}
|
|
|
|
# ──────────────────────────────────────────────
|
|
# EC2
|
|
# ──────────────────────────────────────────────
|
|
variable "instance_type" {
|
|
description = "EC2 instance type (langfuse requires at least t3.xlarge)"
|
|
type = string
|
|
default = "t3.xlarge"
|
|
}
|
|
|
|
variable "instance_name" {
|
|
description = "Name tag for the EC2 instance"
|
|
type = string
|
|
default = "LangfuseEC2"
|
|
}
|
|
|
|
variable "key_name" {
|
|
description = "EC2 key pair name for SSH access (optional)"
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "sg_name" {
|
|
description = "Security group name"
|
|
type = string
|
|
default = "langfuse-sg"
|
|
}
|
|
|
|
variable "allowed_ports" {
|
|
description = "List of TCP ports to allow inbound"
|
|
type = list(number)
|
|
default = [22, 80, 443, 3000]
|
|
}
|
|
|
|
variable "root_volume_size" {
|
|
description = "Root EBS volume size in GB"
|
|
type = number
|
|
default = 100
|
|
}
|
|
|
|
variable "root_volume_type" {
|
|
description = "Root EBS volume type"
|
|
type = string
|
|
default = "gp2"
|
|
}
|
|
|
|
variable "ebs_device_name" {
|
|
description = "Device name for the additional EBS volume"
|
|
type = string
|
|
default = "/dev/sdf"
|
|
}
|
|
|
|
# ──────────────────────────────────────────────
|
|
# Langfuse
|
|
# ──────────────────────────────────────────────
|
|
variable "langfuse_repo_url" {
|
|
description = "Langfuse git repository URL"
|
|
type = string
|
|
default = "https://github.com/langfuse/langfuse.git"
|
|
}
|
|
|
|
variable "langfuse_web_port" {
|
|
description = "Langfuse web UI port"
|
|
type = number
|
|
default = 3000
|
|
}
|