diff --git a/terraform/prod/providers.tf b/terraform/prod/providers.tf index b5922f3..eafe2e0 100644 --- a/terraform/prod/providers.tf +++ b/terraform/prod/providers.tf @@ -1,12 +1,39 @@ -# ================================================================ +# ===================================================================== # Déclaration des Providers Terraform # # Ce fichier indique à Terraform quels "plugins" il doit # télécharger pour interagir avec les API externes (Proxmox, etc.) # et comment les configurer. -# ================================================================ +# ===================================================================== terraform { + # --------------------------------------------------------------------------- + # Backend S3 - Stockage distant du state Terraform + # + # Utilise Scaleway Object Storage (compatible S3) pour stocker + # le fichier terraform.tfstate de manière centralisée et sécurisée. + # + # Variables d'environnement requises : + # - AWS_ACCESS_KEY_ID : Clé d'accès Scaleway + # - AWS_SECRET_ACCESS_KEY : Clé secrète Scaleway + # --------------------------------------------------------------------------- + backend "s3" { + bucket = "netlab-terraform-backend" + key = "prod/terraform.tfstate" + region = "fr-par" + + endpoints = { + s3 = "https://s3.fr-par.scw.cloud" + } + + # Paramètres requis pour Scaleway (non-AWS S3) + skip_credentials_validation = true + skip_region_validation = true + skip_requesting_account_id = true + skip_metadata_api_check = true + skip_s3_checksum = true + } + required_providers { proxmox = { source = "bpg/proxmox"