100 lines
2.4 KiB
HCL
100 lines
2.4 KiB
HCL
variable "hcloud_token" {
|
|
description = "Hetzner Cloud API token"
|
|
type = string
|
|
sensitive = true
|
|
}
|
|
|
|
variable "name" {
|
|
description = "Server name"
|
|
type = string
|
|
default = "doran-1"
|
|
}
|
|
|
|
variable "location" {
|
|
description = "Hetzner location"
|
|
type = string
|
|
default = "nbg1"
|
|
}
|
|
|
|
variable "server_type" {
|
|
description = "Hetzner server type"
|
|
type = string
|
|
default = "cpx32"
|
|
}
|
|
|
|
variable "image" {
|
|
description = "Hetzner image"
|
|
type = string
|
|
default = "ubuntu-24.04"
|
|
}
|
|
|
|
variable "ssh_public_key" {
|
|
description = "Public SSH key content used for automation access"
|
|
type = string
|
|
}
|
|
|
|
variable "admin_cidr_blocks" {
|
|
description = "CIDR blocks allowed to access SSH and K8s API when public admin access is enabled"
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|
|
variable "tailscale_enabled" {
|
|
description = "Install and use Tailscale for admin/control-plane access"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "tailscale_auth_key" {
|
|
description = "Tailscale auth key used for unattended node join"
|
|
type = string
|
|
sensitive = true
|
|
default = ""
|
|
}
|
|
|
|
variable "tailscale_control_plane_hostname" {
|
|
description = "Expected Tailscale DNS name for the node; if set, bootstrap prefers it for kube access"
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "k3s_channel" {
|
|
description = "K3s release channel"
|
|
type = string
|
|
default = "stable"
|
|
}
|
|
|
|
variable "network_cidr" {
|
|
description = "Private network CIDR for the single-node cluster"
|
|
type = string
|
|
default = "10.30.0.0/16"
|
|
}
|
|
|
|
variable "subnet_cidr" {
|
|
description = "Private subnet CIDR for the server attachment"
|
|
type = string
|
|
default = "10.30.1.0/24"
|
|
}
|
|
|
|
variable "network_zone" {
|
|
description = "Hetzner network zone"
|
|
type = string
|
|
default = "eu-central"
|
|
}
|
|
|
|
variable "private_ipv4_address" {
|
|
description = "Static private IPv4 assigned to the node on the Hetzner network"
|
|
type = string
|
|
default = "10.30.1.10"
|
|
}
|
|
|
|
variable "public_domain" {
|
|
description = "Public DNS name pointing at the server IPv4/IPv6; used for ingress/TLS"
|
|
type = string
|
|
}
|
|
|
|
variable "bootstrap_repo_path" {
|
|
description = "Reserved repository subdirectory name for a future node-local bootstrap/GitOps flow; current provisioning still applies manifests from the operator workstation"
|
|
type = string
|
|
default = "deploy/k8s"
|
|
}
|