Compare commits
6 Commits
075a2d0951
...
12956bcc48
| Author | SHA1 | Date | |
|---|---|---|---|
| 12956bcc48 | |||
| 5c3375cd89 | |||
| a0192a1278 | |||
| c7a9f6fa06 | |||
| 115541aac0 | |||
| ff2ab4ff0a |
@@ -89,7 +89,6 @@ Properties= SiteCode, Salle, Role, Prefix, PosteType, OSDComputerNumber, Machine
|
|||||||
10.126.3.254=S2096
|
10.126.3.254=S2096
|
||||||
10.126.5.254=S2096
|
10.126.5.254=S2096
|
||||||
|
|
||||||
; OK
|
|
||||||
10.134.49.254=S3147
|
10.134.49.254=S3147
|
||||||
|
|
||||||
192.168.82.6=SITKO
|
192.168.82.6=SITKO
|
||||||
|
|||||||
+15
-5
@@ -1,13 +1,23 @@
|
|||||||
# Fichiers d'état Terraform
|
# Répertoire local de Terraform (binaires providers — à régénérer via `terraform init`)
|
||||||
|
.terraform/
|
||||||
|
|
||||||
|
# Fichiers d'état Terraform (contiennent des données sensibles en clair)
|
||||||
*.tfstate
|
*.tfstate
|
||||||
*.tfstate.*
|
*.tfstate.*
|
||||||
|
|
||||||
|
# Variables sensibles (tokens API, secrets)
|
||||||
|
*.tfvars
|
||||||
|
!*.tfvars.example
|
||||||
|
|
||||||
# Fichiers de sauvegarde
|
# Fichiers de sauvegarde
|
||||||
*.backup
|
*.backup
|
||||||
*.bak
|
*.bak
|
||||||
|
|
||||||
# Fichier de verrouillage
|
# Logs
|
||||||
.terraform.lock.hcl
|
*.log
|
||||||
|
|
||||||
# Répertoire local de Terraform
|
# Fichiers de clé SSH
|
||||||
.IT-Konoha/
|
*.pub
|
||||||
|
|
||||||
|
# NOTE : .terraform.lock.hcl n'est PAS ignoré volontairement — à committer,
|
||||||
|
# garantit des versions de provider identiques pour tous les usages du dépôt.
|
||||||
Binary file not shown.
Generated
+24
@@ -0,0 +1,24 @@
|
|||||||
|
# This file is maintained automatically by "terraform init".
|
||||||
|
# Manual edits may be lost in future updates.
|
||||||
|
|
||||||
|
provider "registry.terraform.io/bpg/proxmox" {
|
||||||
|
version = "0.111.1"
|
||||||
|
constraints = "0.111.1"
|
||||||
|
hashes = [
|
||||||
|
"h1:iTQv4FVFhMVl2juw6lgrVTpGFrdmdNPj+NFY2Dms0SE=",
|
||||||
|
"zh:18fb7c31a08dde6bffa1a4d4a211e604d6d17eec7092fd59331b3db3c6f3742c",
|
||||||
|
"zh:1cd60761538289d4dd2a1086b3ae62a7b0bdd4b1a2f824e9a44e243413168dba",
|
||||||
|
"zh:2eb76f6fc8299b6820ff678c8252332cc3366e226b5ae2e61748fd2449c1ed92",
|
||||||
|
"zh:45e6f7ebd0bf48911d37060359a4f359b5743b3092e985295733990e406d0416",
|
||||||
|
"zh:4aa8ba912eae37975d2e983394d173e595ca34fc76b5bf220b37d0e99d76e98c",
|
||||||
|
"zh:58e0789923103a77d502a0a9fc3eb920625e8eb935ec2d4ac0d006aebd1d186c",
|
||||||
|
"zh:6df8aa85fb8865915537e946c19b02538ad188018a629759c213c6f03730f642",
|
||||||
|
"zh:6ed47bc00d0913a1d0880618fa1376115e9edab6b4a658c081061a7f0e4ca360",
|
||||||
|
"zh:c5b10ff4f33df7e4c29e8f1127d49845b561b37b57517e844fb0954d7923d65e",
|
||||||
|
"zh:d016510e14b738499f0db9d9b3aafe82fc6877fb4ab4e9f831fb68a8d70a1385",
|
||||||
|
"zh:d941f394069bbf24351b363da1c64383f487067aaee0a84f9b96476d4912e212",
|
||||||
|
"zh:ddf271dbc2632ae8ffa8de3972f243ee47d260cb2ac90aa784f2746d98e21a0f",
|
||||||
|
"zh:ed0caa3501c42f611b7e9622c9b1df69fd85dc25a3cd88d3076381829688cd62",
|
||||||
|
"zh:f26e0763dbe6a6b2195c94b44696f2110f7f55433dc142839be16b9697fa5597",
|
||||||
|
]
|
||||||
|
}
|
||||||
-21
@@ -1,21 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2017 <copyright holders>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
-53
@@ -1,53 +0,0 @@
|
|||||||
[](https://travis-ci.com/Telmate/terraform-provider-proxmox)
|
|
||||||
|
|
||||||
# Terraform provider plugin for Proxmox
|
|
||||||
|
|
||||||
This repository provides a Terraform provider for
|
|
||||||
the [Proxmox virtualization platform](https://pve.proxmox.com/pve-docs/) and exposes Terraform resources to provision
|
|
||||||
QEMU VMs and LXC Containers.
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
In order to get started, use [the documentation included in this repository](docs/index.md). The documentation contains
|
|
||||||
a list of the options for the provider. Moreover, there are some guides available how to combine options and start
|
|
||||||
specific VMs.
|
|
||||||
|
|
||||||
## Quick Start
|
|
||||||
|
|
||||||
Follow this [install guide](docs/guides/installation.md) to install the plugin.
|
|
||||||
|
|
||||||
## Known Limitations
|
|
||||||
|
|
||||||
* `proxmox_vm_qemu`.`disk`.`size` attribute does not match what is displayed in the Proxmox UI.
|
|
||||||
* Updates to `proxmox_vm_qemu` resources almost always result as a failed task within the Proxmox UI. This appears to be
|
|
||||||
harmless and the desired configuration changes do get applied.
|
|
||||||
* `proxmox_vm_qemu` does not (yet) validate vm names, be sure to only use alphanumeric and dashes otherwise you may get
|
|
||||||
an opaque 400 Parameter Verification failed (indicating a bad value was sent to proxmox).
|
|
||||||
* When using the `proxmox_lxc` resource, the provider will crash unless `rootfs` is defined.
|
|
||||||
* When using the Network Boot mode (PXE), a valid NIC must be defined for the VM, and the boot order must specify network first.
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
When contributing, please also add documentation to help other users.
|
|
||||||
|
|
||||||
### Debugging the provider
|
|
||||||
|
|
||||||
Debugging is available for this provider through the Terraform Plugin SDK versions 2.0.0. Therefore, the plugin can be
|
|
||||||
started with the debugging flag `--debug`.
|
|
||||||
|
|
||||||
For example (using [delve](https://github.com/go-delve/delve) as Debugger):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
dlv exec --headless ./terraform-provider-my-provider -- --debug
|
|
||||||
```
|
|
||||||
|
|
||||||
For more information about debugging a provider please
|
|
||||||
see: [Debugger-Based Debugging](https://www.terraform.io/docs/extend/debugging.html#debugger-based-debugging)
|
|
||||||
|
|
||||||
## Useful links
|
|
||||||
|
|
||||||
* [Proxmox](https://www.proxmox.com/en/)
|
|
||||||
* [Proxmox documentation](https://pve.proxmox.com/pve-docs/)
|
|
||||||
* [Terraform](https://www.terraform.io/)
|
|
||||||
* [Terraform documentation](https://www.terraform.io/docs/index.html)
|
|
||||||
* [Recommended ISO builder](https://github.com/Telmate/terraform-ubuntu-proxmox-iso)
|
|
||||||
BIN
Binary file not shown.
-21
@@ -1,21 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2017 <copyright holders>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
-51
@@ -1,51 +0,0 @@
|
|||||||
[](https://travis-ci.com/Telmate/terraform-provider-proxmox)
|
|
||||||
|
|
||||||
# Terraform provider plugin for Proxmox
|
|
||||||
|
|
||||||
This repository provides a Terraform provider for
|
|
||||||
the [Proxmox virtualization platform](https://pve.proxmox.com/pve-docs/) and exposes Terraform resources to provision
|
|
||||||
QEMU VMs and LXC Containers.
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
In order to get started, use [the documentation included in this repository](docs/index.md). The documentation contains
|
|
||||||
a list of the options for the provider. Moreover, there are some guides available how to combine options and start
|
|
||||||
specific VMs.
|
|
||||||
|
|
||||||
## Quick Start
|
|
||||||
|
|
||||||
Follow this [install guide](docs/guides/installation.md) to install the plugin.
|
|
||||||
|
|
||||||
## Known Limitations
|
|
||||||
|
|
||||||
* `proxmox_vm_qemu`.`disk`.`size` attribute does not match what is displayed in the Proxmox UI.
|
|
||||||
* Updates to `proxmox_vm_qemu` resources almost always result as a failed task within the Proxmox UI. This appears to be
|
|
||||||
harmless and the desired configuration changes do get applied.
|
|
||||||
* When using the `proxmox_lxc` resource, the provider will crash unless `rootfs` is defined.
|
|
||||||
* When using the Network Boot mode (PXE), a valid NIC must be defined for the VM, and the boot order must specify network first.
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
When contributing, please also add documentation to help other users.
|
|
||||||
|
|
||||||
### Debugging the provider
|
|
||||||
|
|
||||||
Debugging is available for this provider through the Terraform Plugin SDK versions 2.0.0. Therefore, the plugin can be
|
|
||||||
started with the debugging flag `--debug`.
|
|
||||||
|
|
||||||
For example (using [delve](https://github.com/go-delve/delve) as Debugger):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
dlv exec --headless ./terraform-provider-my-provider -- --debug
|
|
||||||
```
|
|
||||||
|
|
||||||
For more information about debugging a provider please
|
|
||||||
see: [Debugger-Based Debugging](https://www.terraform.io/docs/extend/debugging.html#debugger-based-debugging)
|
|
||||||
|
|
||||||
## Useful links
|
|
||||||
|
|
||||||
* [Proxmox](https://www.proxmox.com/en/)
|
|
||||||
* [Proxmox documentation](https://pve.proxmox.com/pve-docs/)
|
|
||||||
* [Terraform](https://www.terraform.io/)
|
|
||||||
* [Terraform documentation](https://www.terraform.io/docs/index.html)
|
|
||||||
* [Recommended ISO builder](https://github.com/Telmate/terraform-ubuntu-proxmox-iso)
|
|
||||||
BIN
Binary file not shown.
@@ -0,0 +1,133 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# VMs Control-Plane k3s (HA, 3 nœuds, etcd embarqué)
|
||||||
|
# =============================================================================
|
||||||
|
# Une VM control-plane par hôte physique (PVE00, PVE01, PVE02), sur le VLAN 580
|
||||||
|
# (Infrastructure). PVE03 n'héberge pas de control-plane (réservé workers).
|
||||||
|
#
|
||||||
|
# Le template Debian 13 cloud-init (VMID 9000) est stocké sur `VMs_NFS`,
|
||||||
|
# storage partagé accessible depuis tous les nœuds du cluster — le clonage
|
||||||
|
# cross-node fonctionne donc nativement (testé et validé), sans duplication
|
||||||
|
# ni migration manuelle du template.
|
||||||
|
#
|
||||||
|
# Le disque de CHAQUE VM clonée est en revanche relocalisé vers le stockage
|
||||||
|
# ZFS local du nœud cible (`VM_POOL_RAID10` sur PVE00, `local-lvm` ailleurs)
|
||||||
|
# une fois le clone créé : etcd est sensible à la latence disque, et NFS
|
||||||
|
# n'est pas adapté à ce type de charge (cf. incident Postgres/NFS du même lab).
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
variable "k3s_cp_sshkeys_file" {
|
||||||
|
description = "Chemin du fichier contenant les clés SSH autorisées (cluster + poste de travail). Doit exister sur la machine qui exécute `terraform apply` (ex: Luffy), pas sur PVE00."
|
||||||
|
type = string
|
||||||
|
default = "./sshkeys.pub"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "k3s_cp_gateway" {
|
||||||
|
description = "Passerelle du VLAN 580 (Infrastructure)"
|
||||||
|
type = string
|
||||||
|
default = "192.168.80.254"
|
||||||
|
}
|
||||||
|
|
||||||
|
locals {
|
||||||
|
k3s_control_planes = {
|
||||||
|
"k3s-cp-00" = {
|
||||||
|
node_name = "pve00"
|
||||||
|
vm_id = 580
|
||||||
|
ip = "192.168.80.10"
|
||||||
|
datastore_id = "VM_POOL_RAID10" # ZFS local PVE00
|
||||||
|
}
|
||||||
|
"k3s-cp-01" = {
|
||||||
|
node_name = "pve01"
|
||||||
|
vm_id = 581
|
||||||
|
ip = "192.168.80.11"
|
||||||
|
datastore_id = "local-lvm" # LVM-thin local PVE01 (pas de ZFS sur ce nœud)
|
||||||
|
}
|
||||||
|
"k3s-cp-02" = {
|
||||||
|
node_name = "pve02"
|
||||||
|
vm_id = 582
|
||||||
|
ip = "192.168.80.12"
|
||||||
|
datastore_id = "local-lvm" # à adapter selon le storage réel disponible sur PVE02
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "proxmox_virtual_environment_vm" "k3s_control_plane" {
|
||||||
|
for_each = local.k3s_control_planes
|
||||||
|
|
||||||
|
name = each.key
|
||||||
|
node_name = each.value.node_name
|
||||||
|
vm_id = each.value.vm_id
|
||||||
|
|
||||||
|
clone {
|
||||||
|
vm_id = 9000 # template debian13-cloudinit-template (stockage partagé VMs_NFS)
|
||||||
|
node_name = "pve00" # nœud où la config du template est enregistrée (le disque, lui, est sur VMs_NFS)
|
||||||
|
full = true
|
||||||
|
}
|
||||||
|
|
||||||
|
agent {
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
cpu {
|
||||||
|
cores = 2
|
||||||
|
sockets = 1
|
||||||
|
type = "x86-64-v2" # portable entre Coffee Lake / Skylake
|
||||||
|
}
|
||||||
|
|
||||||
|
memory {
|
||||||
|
dedicated = 4096
|
||||||
|
}
|
||||||
|
|
||||||
|
scsi_hardware = "virtio-scsi-single"
|
||||||
|
|
||||||
|
disk {
|
||||||
|
datastore_id = each.value.datastore_id
|
||||||
|
interface = "scsi0"
|
||||||
|
size = 20
|
||||||
|
iothread = true
|
||||||
|
}
|
||||||
|
|
||||||
|
network_device {
|
||||||
|
bridge = "vmbr0"
|
||||||
|
model = "virtio"
|
||||||
|
vlan_id = 580
|
||||||
|
}
|
||||||
|
|
||||||
|
initialization {
|
||||||
|
datastore_id = each.value.datastore_id
|
||||||
|
|
||||||
|
ip_config {
|
||||||
|
ipv4 {
|
||||||
|
address = "${each.value.ip}/24"
|
||||||
|
gateway = var.k3s_cp_gateway
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
user_account {
|
||||||
|
username = "root"
|
||||||
|
keys = [for line in split("\n", replace(trimspace(file(var.k3s_cp_sshkeys_file)), "\r", "")) : line if line != ""]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
operating_system {
|
||||||
|
type = "l26"
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_on_destroy = true
|
||||||
|
}
|
||||||
|
|
||||||
|
output "k3s_control_plane_ips" {
|
||||||
|
value = { for k, v in local.k3s_control_planes : k => v.ip }
|
||||||
|
}
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# NOTE — Storage du template
|
||||||
|
# =============================================================================
|
||||||
|
# Le template 9000 (et 9001 pour Ubuntu) est stocké sur `VMs_NFS`, storage
|
||||||
|
# partagé (content-type "Disk image" activé, accessible sur tous les nœuds).
|
||||||
|
# Le clonage cross-node fonctionne donc directement, sans étape manuelle.
|
||||||
|
#
|
||||||
|
# Vérifier avant tout `terraform apply` que `each.value.datastore_id` pointe
|
||||||
|
# bien vers un storage réellement disponible sur le nœud cible (`pvesm status`
|
||||||
|
# sur chaque nœud) — en particulier pour PVE02, dont le storage local n'a pas
|
||||||
|
# encore été vérifié à la date de rédaction de ce fichier.
|
||||||
|
# =============================================================================
|
||||||
@@ -1,24 +1,21 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
proxmox = {
|
proxmox = {
|
||||||
source = "Telmate/proxmox"
|
source = "bpg/proxmox"
|
||||||
version = "3.0.2-rc07"
|
version = "0.111.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
provider "proxmox" {
|
provider "proxmox" {
|
||||||
pm_api_url = "https://192.168.76.43:8006/api2/json"
|
endpoint = var.proxmox_endpoint
|
||||||
pm_api_token_id = "terraform-prov@pve!mytoken"
|
api_token = var.proxmox_api_token # format complet : "user@realm!tokenid=secret-uuid"
|
||||||
pm_api_token_secret = "5af2e198-4a8e-49ef-9a1e-56a6718e3abd"
|
insecure = true # certificat auto-signé
|
||||||
pm_tls_insecure = true
|
|
||||||
|
|
||||||
# Limiter le parallélisme force le provider à être plus séquentiel sur les droits
|
# SSH optionnel, seulement nécessaire pour certaines opérations avancées
|
||||||
pm_parallel = 1
|
# (upload de fichiers/snippets, import de disques bruts, etc.)
|
||||||
|
# ssh {
|
||||||
# Optionnel : désactive le scan complet du stockage au démarrage
|
# agent = true
|
||||||
pm_timeout = 600
|
# username = "root"
|
||||||
# Ajoute ces deux lignes pour stabiliser la session API
|
# }
|
||||||
pm_log_enable = true
|
|
||||||
pm_log_file = "terraform-plugin-proxmox.log"
|
|
||||||
}
|
}
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
# Machine virtuelle Linux
|
|
||||||
resource "proxmox_vm_qemu" "docker_nodes" {
|
|
||||||
count = 2 # On déploie 2 VMs d'un coup !
|
|
||||||
name = "srv-docker-${count.index + 1}"
|
|
||||||
target_node = "pve00" # Ton HP Gen 10+ avec le RAID 10
|
|
||||||
vmid = 530 + count.index # IDs 530 et 531 pour les deux VMs Docker
|
|
||||||
# storage = "VM_POOL_RAID10" # Stockage en LVM pour de meilleures performances
|
|
||||||
clone = "debian13-cloundinit-template" # (debian13-cloundinit-template) Clone à partir du template Debian 13 que tu as créé
|
|
||||||
|
|
||||||
# FORCE LE CONTROLEUR VIRTIO SCSI
|
|
||||||
scsihw = "virtio-scsi-single"
|
|
||||||
|
|
||||||
# Disque de 20 Go sur le stockage local-zfs (RAID 10)
|
|
||||||
disks {
|
|
||||||
scsi {
|
|
||||||
scsi0 {
|
|
||||||
disk {
|
|
||||||
size = "20G"
|
|
||||||
storage = "VM_POOL_RAID10"
|
|
||||||
# S'ASSURER QUE LE TYPE EST BIEN SCSI
|
|
||||||
iothread = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Configuration CPU/RAM
|
|
||||||
cpu {
|
|
||||||
cores = 2
|
|
||||||
sockets = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
memory = 4096
|
|
||||||
|
|
||||||
agent = 1 # Active le QEMU Guest Agent
|
|
||||||
|
|
||||||
# Réseau : VLAN 530 (Docker)
|
|
||||||
network {
|
|
||||||
id = 0
|
|
||||||
model = "virtio"
|
|
||||||
bridge = "vmbr1"
|
|
||||||
tag = 530
|
|
||||||
firewall = false
|
|
||||||
link_down = false
|
|
||||||
}
|
|
||||||
|
|
||||||
# Cloud-Init : IPs statiques automatiques
|
|
||||||
ipconfig0 = "ip=192.168.30.2${count.index}/24,gw=192.168.30.254"
|
|
||||||
|
|
||||||
ssh_user = "root"
|
|
||||||
ssh_private_key = <<EOF
|
|
||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
PuTTY-User-Key-File-3: ssh-rsa
|
|
||||||
Encryption: none
|
|
||||||
Comment: rsa-key-20260319
|
|
||||||
Public-Lines: 6
|
|
||||||
AAAAB3NzaC1yc2EAAAADAQABAAABAQC/4+tQiMd1sneZ3pIiWbfjWSJyorSPTfPZ
|
|
||||||
dXeUcN30R3G/dN8YbQlDMVCKBOEMps87q1gUpwBWmCvCcr9VsWlSq69nXD27EmBf
|
|
||||||
0vtzbYW49zQzNda8dJfD1Bna0/2PjA6xHBiGS/FT0QhDU1KQqqiCtMI6Ho/5OrOl
|
|
||||||
IGmIW9Adlq0ORXidV/FQWdJwn6OowpCtJpHp34iJ3C316H+71xoIvBd5SIRbowyS
|
|
||||||
BaQibIknQuapcgpAI5glpyQkjHNT3AVPupZ1bO43pZMp3rb/gz6bb1+K5yMHjahY
|
|
||||||
BwjY0+Gsbp31Ln2z9gpxecrB65+fli2L43S+lbn4YM7Tu8nZ8fON
|
|
||||||
Private-Lines: 14
|
|
||||||
AAABADsiHY3/2Jeom7rLH/V9+HETMs5o3YOb3h2RWXxhG8T/j0oU1ftM/qG6PLuL
|
|
||||||
rV6cuRgGQWp73FrTIgkWG2ho97AGQFN11YAktZZSCjMT+TV62Jc/bCE/PNWYMy+A
|
|
||||||
TI9D9fMWWWhpVsEhlY5JyxPRw4Qj+Aa5DF0dfebRCjR/Nq8nCdL2046KXmJBfGFD
|
|
||||||
6xjMcT6NW7b/fqJKZdV2JpIKFNM+0ohGwgqjvyJH4fAXf5VCeI6jtmozawvj6/2t
|
|
||||||
v5WAyXYhI3T6srwhVTeD4out5g06v6KUxLWVtRJhgeroao6A3CtjKRmFrXdHyJIy
|
|
||||||
JbZFSNpOqudFYpH9xQDeiAISvoEAAACBAP77YGp9QY0X6zsRxSDQzI83mB44atZH
|
|
||||||
/mMyak1M1cOniV7KmKZFFFlgHNyxLLhjCMfJxZEA5/3beAk7lsN4SU7L7rRM77a6
|
|
||||||
dk0jhqABKplSG75GwKOtyCaZPvIENEadbkSCKkZLeTTfD8NQXQ3NKfxA72u2LE0d
|
|
||||||
ux3NqntCBq5FAAAAgQDAqA4XvdnkFfSd7VNU/7fRWs2Mbomqrg3Bb6FVd5DXc/Z2
|
|
||||||
ragUoH93cOUgLFNXHsG6d62gXZSsGGgYz5YLfNrgaMoWtd9uqzjj2lHgvyohA1ij
|
|
||||||
evSQW2oBNjSXDa+CBmOklpFeIv06NJj7Zt/zA7gBOz3K/5X4S6j//FaoYYfIqQAA
|
|
||||||
AIEA7UD4j3PuUnCiTpcDELrQwRzQV0c8u2PHtYeA3rIh4J1FH3hmCt7jJ92x2/A+
|
|
||||||
9n3QLtcHo/MkiWcjdS7OMpuWkUDEV0HvV5/ZuYFs32UfJAEBUTKp8NEyjte1Fm74
|
|
||||||
q1xTWj/lgHL+sgaNjMzaebAub5m8pIiPGZK7v4xJSdsDxzU=
|
|
||||||
Private-MAC: 3d0150f25c68a131b885cfa43fa9f96141154d3b419159af81216e1dd23efa01
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
||||||
EOF
|
|
||||||
|
|
||||||
/* tags = {
|
|
||||||
environment = var.environment_tag
|
|
||||||
} */
|
|
||||||
|
|
||||||
/* depends_on = [
|
|
||||||
azurerm_network_interface.nic,
|
|
||||||
azurerm_network_security_group.nsg
|
|
||||||
] */
|
|
||||||
# Injecte ta clé SSH pour qu'Ansible puisse se connecter après
|
|
||||||
sshkeys = <<EOF
|
|
||||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/4+tQiMd1sneZ3pIiWbfjWSJyorSPTfPZdXeUcN30R3G/dN8YbQlDMVCKBOEMps87q1gUpwBWmCvCcr9VsWlSq69nXD27EmBf0vtzbYW49zQzNda8dJfD1Bna0/2PjA6xHBiGS/FT0QhDU1KQqqiCtMI6Ho/5OrOlIGmIW9Adlq0ORXidV/FQWdJwn6OowpCtJpHp34iJ3C316H+71xoIvBd5SIRbowySBaQibIknQuapcgpAI5glpyQkjHNT3AVPupZ1bO43pZMp3rb/gz6bb1+K5yMHjahYBwjY0+Gsbp31Ln2z9gpxecrB65+fli2L43S+lbn4YM7Tu8nZ8fON rsa-key-20260319
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
[90mWed, 25 Mar 2026 20:53:35 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 20:54:24 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 20:55:09 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 20:55:09 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 20:55:09 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 20:59:36 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 20:59:40 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 20:59:44 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 20:59:44 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 20:59:44 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:07:13 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:07:17 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:07:22 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:07:22 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:07:22 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:16:04 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:16:07 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:16:10 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:16:10 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:16:10 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:17:47 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:17:51 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:17:53 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:17:53 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:17:53 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:22:24 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:22:27 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:22:27 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:22:27 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:22:32 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:22:35 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:22:38 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:22:38 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:22:38 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:23:41 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:23:48 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:23:50 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:23:50 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:23:50 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:35:18 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:35:22 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:35:24 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:35:25 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:35:25 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:35:55 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:35:57 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:36:22 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:36:22 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:36:22 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:39:53 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:39:59 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:40:02 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:40:02 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:40:02 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:40:26 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:40:29 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:40:31 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:40:31 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:40:31 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mWed, 25 Mar 2026 21:41:17 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m530
|
|
||||||
[90mWed, 25 Mar 2026 21:41:17 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:1340[0m[36m >[0m [1mtrying to get vm ip address for provisioner[0m [36mloggerName=[0minitConnInfo [36mvmid=[0m530
|
|
||||||
[90mWed, 25 Mar 2026 21:42:04 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m531
|
|
||||||
[90mWed, 25 Mar 2026 21:42:04 +0100[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:1340[0m[36m >[0m [1mtrying to get vm ip address for provisioner[0m [36mloggerName=[0minitConnInfo [36mvmid=[0m531
|
|
||||||
[90mTue, 12 May 2026 15:57:20 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mTue, 12 May 2026 15:57:20 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m530
|
|
||||||
[90mTue, 12 May 2026 15:57:20 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m531
|
|
||||||
[90mTue, 12 May 2026 15:57:37 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mTue, 12 May 2026 15:57:37 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m531
|
|
||||||
[90mTue, 12 May 2026 15:57:37 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m530
|
|
||||||
[90mTue, 12 May 2026 15:57:45 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mTue, 12 May 2026 15:57:47 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mTue, 12 May 2026 15:57:49 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mTue, 12 May 2026 15:58:37 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m530
|
|
||||||
[90mTue, 12 May 2026 15:58:37 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:1340[0m[36m >[0m [1mtrying to get vm ip address for provisioner[0m [36mloggerName=[0minitConnInfo [36mvmid=[0m530
|
|
||||||
[90mTue, 12 May 2026 15:59:29 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m531
|
|
||||||
[90mTue, 12 May 2026 15:59:29 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:1340[0m[36m >[0m [1mtrying to get vm ip address for provisioner[0m [36mloggerName=[0minitConnInfo [36mvmid=[0m531
|
|
||||||
[90mTue, 12 May 2026 16:08:17 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mTue, 12 May 2026 16:08:17 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m530
|
|
||||||
[90mTue, 12 May 2026 16:08:17 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:1340[0m[36m >[0m [1mtrying to get vm ip address for provisioner[0m [36mloggerName=[0minitConnInfo [36mvmid=[0m530
|
|
||||||
[90mTue, 12 May 2026 16:09:53 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m531
|
|
||||||
[90mTue, 12 May 2026 16:09:53 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:1340[0m[36m >[0m [1mtrying to get vm ip address for provisioner[0m [36mloggerName=[0minitConnInfo [36mvmid=[0m531
|
|
||||||
[90mTue, 12 May 2026 16:12:39 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/util.go:186[0m[36m >[0m [1mLogging Started. Root Logger Set to level info[0m
|
|
||||||
[90mTue, 12 May 2026 16:12:43 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mTue, 12 May 2026 16:12:47 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:534[0m[36m >[0m [1mVM creation[0m [36mloggerName=[0mresource_vm_create [36mvmid=[0m
|
|
||||||
[90mTue, 12 May 2026 16:13:31 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m531
|
|
||||||
[90mTue, 12 May 2026 16:13:31 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:1340[0m[36m >[0m [1mtrying to get vm ip address for provisioner[0m [36mloggerName=[0minitConnInfo [36mvmid=[0m531
|
|
||||||
[90mTue, 12 May 2026 16:15:51 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:986[0m[36m >[0m [1mReading configuration for vmid[0m [36mloggerName=[0mresource_vm_read [36mvmid=[0m530
|
|
||||||
[90mTue, 12 May 2026 16:15:51 +0200[0m [32mINF[0m [1mgithub.com/Telmate/terraform-provider-proxmox/v2/proxmox/resource_vm_qemu.go:1340[0m[36m >[0m [1mtrying to get vm ip address for provisioner[0m [36mloggerName=[0minitConnInfo [36mvmid=[0m530
|
|
||||||
@@ -1,19 +1,24 @@
|
|||||||
# Accès SSH
|
# Variables pour le projet IT-Konoha
|
||||||
variable "admin_username" {
|
# Ces variables peuvent être utilisées dans les fichiers .tf pour rendre la configuration plus flexible et réutilisable.
|
||||||
description = "Nom d'utilisateur pour se connecter à la VM"
|
|
||||||
|
variable "proxmox_endpoint" {
|
||||||
|
description = "URL du endpoint Proxmox (ex: https://192.168.76.43:8006/) — SANS /api2/json à la fin"
|
||||||
type = string
|
type = string
|
||||||
default = "admin.almeyric"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* variable "ssh_public_key" {
|
variable "proxmox_api_token" {
|
||||||
description = "Clé publique SSH"
|
description = "Token API complet Proxmox : user@realm!tokenid=secret"
|
||||||
type = string
|
type = string
|
||||||
sensitive = true
|
sensitive = true
|
||||||
} */
|
}
|
||||||
|
|
||||||
# Tag environnement
|
variable "node_name" {
|
||||||
variable "environment_tag" {
|
description = "Nœud Proxmox cible"
|
||||||
description = "Indique l'environnement de déploiement (dev, test, prod)"
|
|
||||||
type = string
|
type = string
|
||||||
default = "test"
|
default = "pve00"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "vm_user_sshkey" {
|
||||||
|
description = "Clé publique SSH injectée via cloud-init"
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,102 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# VMs applicatives — patron générique (map + for_each)
|
||||||
|
# =============================================================================
|
||||||
|
# Remplace l'ancien srv_docker_530.tf. Même structure que k3s-control-plane.tf :
|
||||||
|
# une entrée dans `local.nodes` = une VM. Facile à dupliquer pour un futur
|
||||||
|
# groupe de VMs (copier ce fichier, changer le nom des locals/resource/output).
|
||||||
|
#
|
||||||
|
# Actuellement vide de VM "vivante" : .20 (Immich) a été retiré du state
|
||||||
|
# Terraform (modifiée à la main, cf. historique) et .21 a été détruite lors
|
||||||
|
# du nettoyage du pool ZFS. Ajouter une entrée dans `local.nodes` pour toute
|
||||||
|
# nouvelle VM applicative à déployer sur ce modèle.
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
variable "nodes_sshkeys_file" {
|
||||||
|
description = "Fichier de clés SSH autorisées (cluster + poste de travail)"
|
||||||
|
type = string
|
||||||
|
default = "./sshkeys.pub"
|
||||||
|
}
|
||||||
|
|
||||||
|
locals {
|
||||||
|
# Exemple de structure attendue pour une future VM :
|
||||||
|
# "srv-jellyfin" = {
|
||||||
|
# node_name = "pve03"
|
||||||
|
# vm_id = 533
|
||||||
|
# ip = "192.168.30.22"
|
||||||
|
# gateway = "192.168.30.254"
|
||||||
|
# vlan_id = 530
|
||||||
|
# datastore_id = "local-lvm"
|
||||||
|
# cores = 2
|
||||||
|
# memory = 2048
|
||||||
|
# disk_size = 20
|
||||||
|
# }
|
||||||
|
nodes = {}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "proxmox_virtual_environment_vm" "nodes" {
|
||||||
|
for_each = local.nodes
|
||||||
|
|
||||||
|
name = each.key
|
||||||
|
node_name = each.value.node_name
|
||||||
|
vm_id = each.value.vm_id
|
||||||
|
|
||||||
|
clone {
|
||||||
|
vm_id = 9000 # template debian13-cloudinit-template (stockage partagé VMs_NFS)
|
||||||
|
full = true
|
||||||
|
}
|
||||||
|
|
||||||
|
agent {
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
cpu {
|
||||||
|
cores = each.value.cores
|
||||||
|
sockets = 1
|
||||||
|
type = "x86-64-v2"
|
||||||
|
}
|
||||||
|
|
||||||
|
memory {
|
||||||
|
dedicated = each.value.memory
|
||||||
|
}
|
||||||
|
|
||||||
|
scsi_hardware = "virtio-scsi-single"
|
||||||
|
|
||||||
|
disk {
|
||||||
|
datastore_id = each.value.datastore_id
|
||||||
|
interface = "scsi0"
|
||||||
|
size = each.value.disk_size
|
||||||
|
iothread = true
|
||||||
|
}
|
||||||
|
|
||||||
|
network_device {
|
||||||
|
bridge = "vmbr0"
|
||||||
|
model = "virtio"
|
||||||
|
vlan_id = each.value.vlan_id
|
||||||
|
}
|
||||||
|
|
||||||
|
initialization {
|
||||||
|
datastore_id = each.value.datastore_id
|
||||||
|
|
||||||
|
ip_config {
|
||||||
|
ipv4 {
|
||||||
|
address = "${each.value.ip}/24"
|
||||||
|
gateway = each.value.gateway
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
user_account {
|
||||||
|
username = "root"
|
||||||
|
keys = [for line in split("\n", replace(trimspace(file(var.nodes_sshkeys_file)), "\r", "")) : line if line != ""]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
operating_system {
|
||||||
|
type = "l26"
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_on_destroy = true
|
||||||
|
}
|
||||||
|
|
||||||
|
output "nodes_ips" {
|
||||||
|
value = { for k, v in local.nodes : k => v.ip }
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
resource "proxmox_virtual_environment_vm" "nodes" {
|
||||||
|
count = 2
|
||||||
|
name = "srv-docker-${count.index + 1}"
|
||||||
|
node_name = var.node_name
|
||||||
|
vm_id = 530 + count.index
|
||||||
|
|
||||||
|
clone {
|
||||||
|
vm_id = 8999 # vmid de ton template debian13-cloudinit
|
||||||
|
full = true
|
||||||
|
}
|
||||||
|
|
||||||
|
agent {
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
cpu {
|
||||||
|
cores = 2
|
||||||
|
sockets = 1
|
||||||
|
type = "host"
|
||||||
|
}
|
||||||
|
|
||||||
|
memory {
|
||||||
|
dedicated = 4096
|
||||||
|
}
|
||||||
|
|
||||||
|
scsi_hardware = "virtio-scsi-single"
|
||||||
|
|
||||||
|
disk {
|
||||||
|
datastore_id = "VM_POOL_RAID10"
|
||||||
|
interface = "scsi0"
|
||||||
|
size = 20
|
||||||
|
iothread = true
|
||||||
|
}
|
||||||
|
|
||||||
|
network_device {
|
||||||
|
bridge = "vmbr1"
|
||||||
|
model = "virtio"
|
||||||
|
vlan_id = 530
|
||||||
|
}
|
||||||
|
|
||||||
|
initialization {
|
||||||
|
datastore_id = "VM_POOL_RAID10" # stockage du disque cloud-init (ide2 par défaut)
|
||||||
|
|
||||||
|
ip_config {
|
||||||
|
ipv4 {
|
||||||
|
address = "192.168.30.2${count.index}/24"
|
||||||
|
gateway = "192.168.30.254"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
user_account {
|
||||||
|
username = "root"
|
||||||
|
keys = [var.vm_user_sshkey]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
operating_system {
|
||||||
|
type = "l26" # Linux 2.6+ kernel (Debian, Ubuntu, etc.)
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_on_destroy = true
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user