Terraform/09-modules-introduction
2023-07-04 19:02:30 +02:00
..
2023-07-04 19:02:30 +02:00
2023-07-04 19:02:30 +02:00

%title: Terraform %author: Hubert

Terraform : modules - introduction


  • modules : regroupement de fichiers tf avec une cohérence en matière de resources

  • module terraform = rôle ansible


  • module = répertoire(s) + fichier(s) tf

Terraform : modules - introduction


  • utilisation d'un module
module "monmodule" {
  source = "./rep_module"
}

  • principe d'héritage du provider * par défaut celui du fichier dans lequel il est appelé * prossibilité de préciser le provider

  • possiblité d'instancier plusieurs fois un même module
module "instance1" {
  source = "./rep_module"
}
module "instance2" {
  source = "./rep_module"
}

Terraform : modules - introduction


  • structure d'un module
├── README.md
├── main.tf
├── variables.tf
├── outputs.tf
  • plus poussé
├── README.md
├── main.tf
├── variables.tf
├── outputs.tf
├── ...
├── modules/
│   ├── nestedA/
│   │   ├── README.md
│   │   ├── variables.tf
│   │   ├── main.tf
│   │   ├── outputs.tf
│   ├── nestedB/
│   ├── .../
├── examples/
│   ├── exampleA/
│   │   ├── main.tf
│   ├── exampleB/
│   ├── .../

Terraform : modules - introduction


  • installation d'un module
terraform get
terraform init

  • peut permettre de gérer la gestion de dépendances
terraform apply -target=module.docker
terraform apply -target=module.postgres

Remarque : ou via les variables


  • problématique de la vidéo précédente

cf pb de dépendance d'installation de docker avant de jouer le provider docker