Initial commit
This commit is contained in:
@@ -1,14 +1,10 @@
|
|||||||
locals {
|
locals {
|
||||||
# Alphabet pour la conversion base 26 des suffixes de noms de VMs.
|
|
||||||
letters = [
|
letters = [
|
||||||
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
|
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
|
||||||
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
|
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
|
||||||
"u", "v", "w", "x", "y", "z"
|
"u", "v", "w", "x", "y", "z"
|
||||||
]
|
]
|
||||||
|
|
||||||
# Dict des VMs a deployer, genere dynamiquement a partir de var.vm_count.
|
|
||||||
# cle = nom unique de la VM ex. "9999aaaa"
|
|
||||||
# value = parametres specifiques { vmid, ip }
|
|
||||||
vms = {
|
vms = {
|
||||||
for i in range(var.vm_count) :
|
for i in range(var.vm_count) :
|
||||||
"9999aa${local.letters[floor(i / 26)]}${local.letters[i % 26]}" => {
|
"9999aa${local.letters[floor(i / 26)]}${local.letters[i % 26]}" => {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ output "vm_names" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
output "vm_ips" {
|
output "vm_ips" {
|
||||||
description = "Mapping nom de VM -> IP"
|
description = "Mapping nom de VM - IP"
|
||||||
value = { for name, vm in local.vms : name => vm.ip }
|
value = { for name, vm in local.vms : name => vm.ip }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,7 @@
|
|||||||
# Copier en `terraform.tfvars` puis remplacer les placeholders par les vraies valeurs.
|
|
||||||
# Toutes les variables listees ici sont obligatoires (sans default cote variables.tf).
|
|
||||||
#
|
|
||||||
# Note : `vm_count` est aussi obligatoire mais volontairement absente ici pour
|
|
||||||
# etre promptee a chaque `tofu plan` / `tofu apply`. Decommenter la ligne en bas
|
|
||||||
# si tu veux la figer.
|
|
||||||
|
|
||||||
proxmox_endpoint = "https://<pve-adn>:8006"
|
proxmox_endpoint = "https://<pve-adn>:8006"
|
||||||
proxmox_api_token = "root@pam!sio-routage=00000000-0000-0000-0000-000000000000"
|
proxmox_api_token = "root@pam!xxxxxxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
proxmox_insecure = true
|
proxmox_insecure = true
|
||||||
|
|
||||||
node_name = "<nom-du-node-pve>"
|
node_name = "<nom-du-node-pve>"
|
||||||
|
|
||||||
ssh_public_key = "ssh-ed25519 AAAA... user@host"
|
ssh_public_key = "ssh-ed25519 AAAA... user@host"
|
||||||
|
|
||||||
# vm_count = 3
|
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
# =================== OBLIGATOIRES (sans default) ===================
|
|
||||||
|
|
||||||
variable "proxmox_endpoint" {
|
variable "proxmox_endpoint" {
|
||||||
description = "URL HTTPS Proxmox"
|
description = "URL HTTPS Proxmox"
|
||||||
type = string
|
type = string
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "proxmox_api_token" {
|
variable "proxmox_api_token" {
|
||||||
description = "USER@REALM!TOKENID=SECRET"
|
description = "Token API Proxmox"
|
||||||
type = string
|
type = string
|
||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
@@ -36,8 +34,6 @@ variable "vm_count" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# =================== OPTIONNELLES (avec default) ===================
|
|
||||||
|
|
||||||
variable "template_id" {
|
variable "template_id" {
|
||||||
description = "ID Proxmox du template a cloner"
|
description = "ID Proxmox du template a cloner"
|
||||||
type = number
|
type = number
|
||||||
@@ -87,7 +83,7 @@ variable "vlan_id" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
variable "ci_user" {
|
variable "ci_user" {
|
||||||
description = "Compte unix cree par cloud-init"
|
description = "Compte cree par cloud-init"
|
||||||
type = string
|
type = string
|
||||||
default = "nidoradmin"
|
default = "nidoradmin"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user