Files
k8s/00-infrastructure/01-tofu/talos/variables.tf

55 lines
1.9 KiB
HCL

variable "image" {
description = "Talos image configuration"
type = object({
factory_url = optional(string, "https://factory.talos.dev")
schematic_path = string
version = string
update_schematic_path = optional(string)
update_version = optional(string)
arch = optional(string, "amd64")
platform = optional(string, "nocloud")
proxmox_datastore = optional(string, "local")
})
}
variable "cluster" {
description = "Cluster configuration"
type = object({
name = string
vip = optional(string)
subnet_mask = optional(string, "24")
talos_machine_config_version = optional(string)
proxmox_cluster = string
kubernetes_version = string
gateway_api_version = string
node_network_vlan = optional(number)
ntp_servers = optional(list(string), [])
http_proxy = optional(string, "")
no_proxy = optional(string, "")
extra_manifests = optional(list(string))
kubelet = optional(string)
api_server = optional(string, "")
cilium = object({
bootstrap_manifest_path = string
values_file_path = string
})
})
}
variable "nodes" {
description = "Configuration for cluster nodes"
type = map(object({
host_node = string
machine_type = string
datastore_id = optional(string, "ZFS")
ip = string
dns = optional(list(string))
mac_address = string
vm_id = number
cpu = number
ram_dedicated = number
system_disk_size = optional(number, 60)
update = optional(bool, false)
igpu = optional(bool, false)
}))
}