first commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
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.
|
||||
Reference in New Issue
Block a user