infra/burst/workers/hetzner/variables.tf (1414 bytes)
1 variable "workers" { 2 description = "The workers on Hetzner: server name -> app commit, server type, location. The burst controller writes this." 3 type = map(object({ 4 ref = string 5 machine = string 6 zone = string 7 })) 8 default = {} 9 10 validation { 11 condition = alltrue([for name in keys(var.workers) : can(regex("^subplz-burst-[0-9a-z-]{1,40}$", name))]) 12 error_message = "Each worker name must start with subplz-burst-: the controller finds its workers by that prefix." 13 } 14 validation { 15 condition = alltrue([for w in values(var.workers) : can(regex("^[0-9a-f]{40}$", w.ref))]) 16 error_message = "Each ref must be a full git commit hash." 17 } 18 } 19 20 21 variable "threads" { 22 description = "Whisper threads: all vCPUs of a 4-vCPU server type." 23 type = number 24 default = 4 25 } 26 27 variable "idle_checks" { 28 description = "Idle checks (10 minutes each) before a machine powers itself off, if the controller is gone." 29 type = number 30 default = 9 31 } 32 33 variable "subplz_spec" { 34 description = "The subplz package, pinned to the commit that the web server runs." 35 type = string 36 default = "subplz @ git+https://github.com/kanjieater/SubPlz.git@6be8b6fab185372b458bdde13c61f4da204dc6fc" 37 } 38 39 variable "state_file" { 40 description = "Path of the state file of ../../state." 41 type = string 42 default = "/var/lib/subplz-burst/state.tfstate" 43 }