110 lines
2.7 KiB
HCL
110 lines
2.7 KiB
HCL
# =============================================================================
|
|
# App Server Module Variables
|
|
# =============================================================================
|
|
|
|
variable "project_name" {
|
|
description = "Project name"
|
|
type = string
|
|
}
|
|
|
|
variable "environment" {
|
|
description = "Environment name"
|
|
type = string
|
|
}
|
|
|
|
variable "region" {
|
|
description = "DigitalOcean region"
|
|
type = string
|
|
}
|
|
|
|
variable "vpc_uuid" {
|
|
description = "UUID of the VPC"
|
|
type = string
|
|
}
|
|
|
|
variable "vpc_ip_range" {
|
|
description = "IP range of the VPC (CIDR notation)"
|
|
type = string
|
|
}
|
|
|
|
variable "ssh_keys" {
|
|
description = "List of SSH key IDs to add to the droplet"
|
|
type = list(string)
|
|
}
|
|
|
|
variable "droplet_size" {
|
|
description = "Size slug for the droplet"
|
|
type = string
|
|
default = "s-2vcpu-4gb"
|
|
}
|
|
|
|
variable "droplet_image" {
|
|
description = "Image slug for the droplet"
|
|
type = string
|
|
default = "debian-12-x64"
|
|
}
|
|
|
|
variable "ssh_port" {
|
|
description = "SSH port (non-standard, VPC only)"
|
|
type = number
|
|
default = 51234
|
|
}
|
|
|
|
variable "domain" {
|
|
description = "Domain name for the app"
|
|
type = string
|
|
default = "realms.pub"
|
|
}
|
|
|
|
variable "enable_backups" {
|
|
description = "Enable automated backups"
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "tags" {
|
|
description = "Tags to apply to resources"
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|
|
# =============================================================================
|
|
# DNS Configuration
|
|
# =============================================================================
|
|
|
|
variable "manage_dns" {
|
|
description = "Whether to manage DNS record via DigitalOcean"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "dns_zone" {
|
|
description = "DNS zone (base domain) managed by DigitalOcean"
|
|
type = string
|
|
default = "realms.pub"
|
|
}
|
|
|
|
variable "dns_record_name" {
|
|
description = "DNS record name (subdomain). Use '@' for root or 'beeta' for beeta.realms.pub"
|
|
type = string
|
|
default = "beeta"
|
|
}
|
|
|
|
# =============================================================================
|
|
# Forgejo Registry
|
|
# =============================================================================
|
|
|
|
variable "forgejo_registry" {
|
|
description = "Forgejo container registry URL"
|
|
type = string
|
|
default = "qbit.realms.pub"
|
|
}
|
|
|
|
# =============================================================================
|
|
# SSL Certificate Configuration
|
|
# =============================================================================
|
|
|
|
variable "letsencrypt_email" {
|
|
description = "Email for Let's Encrypt certificate notifications"
|
|
type = string
|
|
}
|