44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
OpenTofu est le fork 100 % open-source de Terraform (licence MPL 2.0, sous la *Linux Foundation*) servant de moteur de provisionnement d'infrastructure par code (IaC) pour la stack Aegis. Il conserve la même syntaxe (HCL), les mêmes commandes et la même compatibilité avec les *providers* du marché que Terraform, sans aucune contrainte de licence commerciale.
|
|
|
|
**Rôle dans la Stack Aegis**
|
|
|
|
* **Provisionnement IaaS** : Déclare et instancie de manière automatisée les machines virtuelles, conteneurs et ressources réseau sur Proxmox VE ou auprès du datacenter belge.
|
|
* **Gestion d'État (State Management)** : Stocke le fichier d'état (`.tfstate`) de manière centralisée, chiffrée et isolée dans un bucket S3 souverain pour chaque PME cliente.
|
|
* **Garantie Open Source** : Assure que le socle d'Aegis reste totalement libre de droits, auditable et aligné avec la promesse de souveraineté.
|
|
|
|
**Exemple de Configuration (`opentofu/main.tf`)**
|
|
|
|
```hcl
|
|
terraform {
|
|
required_providers {
|
|
proxmox = {
|
|
source = "telmate/proxmox"
|
|
version = "2.9.14"
|
|
}
|
|
}
|
|
backend "s3" {
|
|
bucket = "aegis-tfstate-souverain"
|
|
key = "clients/client-01.tfstate"
|
|
}
|
|
}
|
|
|
|
resource "proxmox_vm_qemu" "client_node" {
|
|
name = var.client_name
|
|
target_node = "pve-belgium-01"
|
|
clone = "debian-12-template"
|
|
cores = 2
|
|
memory = 4096
|
|
|
|
network {
|
|
model = "virtio"
|
|
bridge = "vmbr1"
|
|
}
|
|
}
|
|
|
|
```
|
|
|
|
**Commandes Clés du Pipeline**
|
|
|
|
* **`tofu init`** : Initialise le backend distant S3 et télécharge les *providers* nécessaires.
|
|
* **`tofu plan`** : Calcule le différentiel et affiche la séquence exacte des modifications d'infrastructure.
|
|
* **`tofu apply`** : Exécute le provisionnement de l'instance virtuelle avant le passage des playbooks Ansible. |