infrastructure/k8s.tjo.cloud/modules/cluster/variables.tf

80 lines
1.7 KiB
Terraform
Raw Normal View History

2024-07-14 10:19:37 +00:00
variable "nodes" {
type = map(object({
2024-12-14 19:15:07 +00:00
id = number
type = string
host = string
2024-07-14 10:19:37 +00:00
cores = optional(number, 4)
memory = optional(number, 4096)
2024-07-14 10:19:37 +00:00
2024-07-19 20:48:07 +00:00
storage = string
boot_size = optional(number, 32)
2024-07-14 10:19:37 +00:00
}))
}
2024-12-15 17:35:26 +00:00
variable "hosts" {
type = map(object({
asn = number
}))
}
variable "talos" {
2024-07-14 10:19:37 +00:00
type = object({
2024-12-19 21:15:46 +00:00
version = optional(string, "v1.9.0")
kubernetes = optional(string, "v1.32.0")
# Default is:
2024-07-25 15:42:08 +00:00
# customization:
# systemExtensions:
# officialExtensions:
# - siderolabs/kata-containers
# - siderolabs/qemu-guest-agent
# - siderolabs/wasmedge
schematic_id = optional(string, "392092063ce5c8be7dfeba0bd466add2bc0b55a20939cc2c0060058fcc25d784")
2024-07-14 10:19:37 +00:00
})
}
variable "cluster" {
type = object({
2024-08-02 20:10:21 +00:00
name = string
2024-07-14 10:19:37 +00:00
api = optional(object({
2024-08-04 17:50:50 +00:00
internal = optional(object({
domain = optional(string, "k8s.tjo.cloud")
subdomain = optional(string, "api.internal")
port = optional(number, 6443)
2024-08-04 17:50:50 +00:00
}), {})
public = optional(object({
domain = optional(string, "k8s.tjo.cloud")
subdomain = optional(string, "api")
port = optional(number, 443)
2024-08-04 17:50:50 +00:00
}), {})
2024-07-14 10:19:37 +00:00
}), {})
oidc = object({
client_id = string
issuer_url = string
})
2024-12-15 17:35:26 +00:00
pod_cidr = object({
ipv4 = string
ipv6 = string
})
service_cidr = object({
ipv4 = string
ipv6 = string
})
2024-12-22 12:32:22 +00:00
load_balancer_cidr = object({
ipv4 = string
ipv6 = string
})
2024-07-14 10:19:37 +00:00
})
}
variable "proxmox" {
type = object({
name = string
url = string
insecure = optional(bool, false)
2024-07-19 20:48:07 +00:00
common_storage = string
})
sensitive = true
}