From 086bc029c0ed258ab526bd5bb845d3b7fca2d89f Mon Sep 17 00:00:00 2001 From: Damien Arnodo Date: Sun, 7 Dec 2025 13:31:02 +0000 Subject: [PATCH] feat: add Scaleway S3 backend for Terraform state Configure remote state storage using Scaleway Object Storage bucket 'netlab-terraform-backend' for centralized state management. --- terraform/prod/providers.tf | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) 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"