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

73 lines
1.6 KiB
Terraform
Raw Normal View History

2024-07-14 10:19:37 +00:00
variable "nodes" {
type = map(object({
public = bool
type = string
host = string
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
}))
}
variable "talos" {
2024-07-14 10:19:37 +00:00
type = object({
version = optional(string, "v1.7.5")
2024-07-14 10:19:37 +00:00
kubernetes = optional(string, "v1.30.0")
# Default is:
2024-07-25 15:42:08 +00:00
# customization:
# systemExtensions:
# officialExtensions:
# - siderolabs/kata-containers
# - siderolabs/qemu-guest-agent
# - siderolabs/tailscale
# - siderolabs/wasmedge
schematic_id = optional(string, "a125b6d6becb63df5543edfae1231e351723dd6e4d551ba73e0f30229ad6ff59")
2024-07-14 10:19:37 +00:00
})
}
variable "allow_scheduling_on_control_planes" {
default = false
type = bool
description = "Allow scheduling on control plane nodes"
}
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, "api.internal.k8s.tjo.cloud")
port = optional(number, 6443)
}), {})
public = optional(object({
domain = optional(string, "api.k8s.tjo.cloud")
port = optional(number, 443)
}), {})
2024-07-14 10:19:37 +00:00
}), {})
oidc = object({
client_id = string
issuer_url = string
})
})
}
variable "tailscale_authkey" {
type = string
sensitive = true
}
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
}