aboutsummaryrefslogtreecommitdiff
path: root/opentofu/modules/k8s_control_plane/variables.tf
blob: 4ffb3bd08315d2c0c8c29f137e4b967e2475abb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
variable "name" {
  type        = string
  description = "The name of the virtual machine."
}

variable "desc" {
  type        = string
  description = "A description of the virtual machine."
  default     = ""
}

variable "agent" {
  type        = number
  description = "Whether to enable the QEMU guest agent (0 = disabled, 1 = enabled)."
  default     = 0
}

variable "target_node" {
  type        = string
  description = "The name of the Proxmox node where the VM will be created."
}

variable "tags" {
  type        = string
  description = "Tags to assign to the virtual machine."
  default     = ""
}

variable "clone" {
  type        = string
  description = "The name of the VM template to clone."
}

variable "full_clone" {
  type        = bool
  description = "Whether to create a full clone of the template (true) or a linked clone (false)."
  default     = true
}

variable "qemu_os" {
  type        = string
  description = "The type of OS installed on the VM."
  default     = "l26"  # Default is Linux 2.6/3.x/4.x/5.x kernel
}

variable "cores" {
  type        = number
  description = "The number of CPU cores to allocate to the VM."
  default     = 1
}

variable "sockets" {
  type        = number
  description = "The number of CPU sockets to allocate to the VM."
  default     = 1
}

variable "cpu_type" {
  type        = string
  description = "The type of CPU to emulate (e.g., 'host', 'kvm64')."
  default     = "host"
}

variable "memory" {
  type        = number
  description = "The amount of memory (in MB) to allocate to the VM."
  default     = 1024
}

variable "scsihw" {
  type        = string
  description = "The SCSI controller type (e.g., 'virtio-scsi-pci', 'virtio-scsi-single')."
  default     = "virtio-scsi-pci"
}

variable "bootdisk" {
  type        = string
  description = "The boot disk interface (e.g., 'scsi0', 'virtio0')."
  default     = "virtio0"
}

variable "cloudinit_storage" {
  type        = string
  description = "The storage pool for the cloud-init drive."
}

variable "disk_storage" {
  type        = string
  description = "The storage pool for the primary disk."
}

variable "disk_size" {
  type        = string
  description = "The size of the primary disk (e.g., '20G')."
}

variable "iothread" {
  type        = bool
  description = "Whether to enable IO threading for the disk."
  default     = false
}

variable "replicate" {
  type        = bool
  description = "Whether to replicate the disk to other nodes."
  default     = false
}

variable "network_id" {
  type        = number
  description = "The ID of the network interface."
  default     = 0
}

variable "network_model" {
  type        = string
  description = "The model of the network interface (e.g., 'virtio')."
  default     = "virtio"
}

variable "network_bridge" {
  type        = string
  description = "The bridge to attach the network interface to."
  default     = "vmbr0"
}

variable "ipconfig0" {
  type        = string
  description = "The IP configuration for the VM (e.g., 'ip=dhcp')."
  default     = "ip=dhcp"
}

variable "ciuser" {
  type        = string
  description = "The username for cloud-init."
  default     = ""
}

variable "sshkeys" {
  type        = string
  description = "The SSH public keys to inject into the VM via cloud-init."
  default     = ""
}