55 lines
1.9 KiB
HCL
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)
|
|
}))
|
|
} |