70 lines
1.9 KiB
HCL
70 lines
1.9 KiB
HCL
# Fichier: terraform/environments/prod/variables.tf
|
|
|
|
variable "target_node" {
|
|
description = "Le nom du noeud Proxmox sur lequel déployer les VMs."
|
|
type = string
|
|
default = "pve01"
|
|
}
|
|
|
|
variable "proxmox_url" {
|
|
description = "URL du noeud Proxmox sur lequel déployer les VMs."
|
|
type = string
|
|
}
|
|
|
|
variable "proxmox_api_token" {
|
|
description = "Token pour accéder à l'API Proxmox"
|
|
type = string
|
|
}
|
|
|
|
variable "admin_ssh_public_key_path" {
|
|
description = "Chemin vers le fichier de la clé SSH publique à autoriser."
|
|
type = string
|
|
default = "~/.ssh/id_rsa.pub"
|
|
}
|
|
|
|
variable "domain_suffix" {
|
|
description = "Suffixe de domaine pour les VMs (ex: lab.home.arnodo.fr)"
|
|
type = string
|
|
default = "lab.home.arnodo.fr"
|
|
}
|
|
|
|
variable "default_vm_user" {
|
|
description = "Utilisateur par défaut pour les VMs"
|
|
type = string
|
|
default = "root"
|
|
}
|
|
|
|
variable "virtual_machines" {
|
|
description = "Configuration des machines virtuelles à déployer"
|
|
type = map(object({
|
|
# Configuration de base
|
|
os = string
|
|
cores = number
|
|
memory = number
|
|
disk_gb = number
|
|
ip = string
|
|
gateway = string
|
|
|
|
# Configuration optionnelle
|
|
cpu_type = optional(string, "host")
|
|
netmask = optional(string, "24")
|
|
datastore = optional(string, "local-lvm")
|
|
disk_format = optional(string, "raw")
|
|
network_bridge = optional(string, "vmbr0")
|
|
network_model = optional(string, "virtio")
|
|
username = optional(string)
|
|
on_boot = optional(bool, true)
|
|
dns_servers = optional(list(string), ["8.8.8.8", "8.8.4.4"])
|
|
tags = optional(list(string), [])
|
|
|
|
# Disques supplémentaires (optionnel)
|
|
additional_disks = optional(list(object({
|
|
interface = string
|
|
datastore = string
|
|
size = number
|
|
format = optional(string, "raw")
|
|
})), [])
|
|
}))
|
|
default = {}
|
|
}
|