Remove guest-agent enrollment workflow, pass TS auth key through Terraform variables/secrets, and run tailscale up with tag:k8s during cloud-init bootstrap alongside SSH key injection.
80 lines
1.4 KiB
HCL
80 lines
1.4 KiB
HCL
variable "pm_api_token_id" {
|
|
type = string
|
|
description = "Proxmox API token ID (format: user@realm!tokenid)"
|
|
|
|
validation {
|
|
condition = can(regex(".+!.+", trimspace(var.pm_api_token_id)))
|
|
error_message = "pm_api_token_id must be in format user@realm!tokenid."
|
|
}
|
|
}
|
|
|
|
variable "pm_api_token_secret" {
|
|
type = string
|
|
sensitive = true
|
|
description = "Proxmox API token secret"
|
|
|
|
validation {
|
|
condition = length(trimspace(var.pm_api_token_secret)) > 0
|
|
error_message = "pm_api_token_secret cannot be empty. Check your Gitea secret PM_API_TOKEN_SECRET."
|
|
}
|
|
}
|
|
|
|
variable "target_node" {
|
|
type = string
|
|
}
|
|
|
|
variable "clone_template" {
|
|
type = string
|
|
}
|
|
|
|
variable "cores" {
|
|
type = number
|
|
}
|
|
|
|
variable "memory" {
|
|
type = number
|
|
}
|
|
|
|
variable "disk_size" {
|
|
type = string
|
|
}
|
|
|
|
variable "sockets" {
|
|
type = number
|
|
}
|
|
|
|
variable "bridge" {
|
|
type = string
|
|
}
|
|
|
|
variable "storage" {
|
|
type = string
|
|
}
|
|
|
|
variable "pm_api_url" {
|
|
type = string
|
|
}
|
|
|
|
variable "alpaca_vm_count" {
|
|
type = number
|
|
default = 1
|
|
description = "How many Alpaca VMs to create"
|
|
}
|
|
|
|
variable "llama_vm_count" {
|
|
type = number
|
|
default = 1
|
|
description = "How many Llama VMs to create"
|
|
}
|
|
|
|
variable "SSH_KEY_PUBLIC" {
|
|
type = string
|
|
description = "Public SSH key injected via cloud-init"
|
|
}
|
|
|
|
variable "TS_AUTHKEY" {
|
|
type = string
|
|
sensitive = true
|
|
description = "Tailscale auth key used during cloud-init enrollment"
|
|
}
|