Provisionner l’infrastructure¶
Cette configuration OpenTofu gère l’infrastructure de QueFaireDeMesObjets sur Scaleway.
OpenTofu¶
Nous utilisons OpenTofu, version open-source de Terraform
, pour automatiser le provisionning de l’infractructure.
Suivre la documentation pour installer OpenTofu : https://opentofu.org/docs/intro/install/
La configuration est définie dans le dossier infrastructure
Prérequis¶
Installer et configurer le client Scaleway en suivant les instructions de Scaleway
Vérifer que vous avez les droits d’administration du projet concerné par cette planificaton d’infrastructure
IaC : Infrastructure as Code¶
Structure¶
infrastructure/
├── environments/
│ ├── prod/
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ ├── terraform.tfvars.exemple
│ │ └── terraform.tfvars -> non partagé
│ ├── preprod/
│ └── preview/
└── modules/
├── database/
│ ├── main.tf
│ ├── variables.tf
│ └── outputs.tf
└── provider/
Configuration¶
Copier le fichier
environments/<ENV>/terraform.tfvars.example
versterraform.tfvars
Modifier les valeurs dans
terraform.tfvars
avec vos informations :project_id
: ID du projet Scalewayorganization_id
: ID de l’organisation Scalewaydb_password
: Mot de passe sécurisé pour la base de données…
Exécution¶
tfstate¶
⚠️ le state
est enregistré sur une répertoire s3 de Scaleway s3://
Si ce répertoire n’existe pas, il est nécessaire d’executer la configuration backend
, cf. infrastructure/environments/backend
Par environnement¶
L’environnement de preview
est utilisé pour tester notre projet IaC, on détruit volontairement l’infrastructure créée sur cet environnement une fois que la configuration terraform est testée.
Pour chaque environnement :
Se placer dans le répertoire infrastructure
et exécuter les commandes suivantes
tofu init -reconfigure
tofu plan
tofu apply
Pour chaque commande, l’environnement doit-être précisé