From 8aad0f4d1a934d7ad61a8eda83a64c91d3bb2c2a Mon Sep 17 00:00:00 2001 From: gentil Date: Thu, 4 Dec 2025 10:52:30 +0100 Subject: [PATCH] fix/feature: fix network & add compute --- tp-cloud/terraform/environments/dev/main.tf | 9 +++++ .../terraform/environments/dev/variables.tf | 11 ++++++ tp-cloud/terraform/modules/compute/main.tf | 30 ++++++++-------- tp-cloud/terraform/modules/compute/outputs.tf | 23 ++++++------- .../terraform/modules/compute/variables.tf | 34 ++++++------------- 5 files changed, 55 insertions(+), 52 deletions(-) diff --git a/tp-cloud/terraform/environments/dev/main.tf b/tp-cloud/terraform/environments/dev/main.tf index 595306b..15916e9 100644 --- a/tp-cloud/terraform/environments/dev/main.tf +++ b/tp-cloud/terraform/environments/dev/main.tf @@ -23,3 +23,12 @@ module "network" { database_cidr = var.database_cidr ssh_source_ranges = var.ssh_source_ranges } + +module "compute" { + source = "../../modules/compute" + instance_type = var.instance_type + zone = var.zone + frontend_subnet_id = module.network.subnets.frontend + backend_subnet_id = module.network.subnets.backend + database_subnet_id = module.network.subnets.database +} \ No newline at end of file diff --git a/tp-cloud/terraform/environments/dev/variables.tf b/tp-cloud/terraform/environments/dev/variables.tf index 5981198..e4a5c4b 100644 --- a/tp-cloud/terraform/environments/dev/variables.tf +++ b/tp-cloud/terraform/environments/dev/variables.tf @@ -33,3 +33,14 @@ variable "ssh_source_ranges" { default = "0.0.0.0/0" } +variable "instance_type" { + description = "type de l'instance" + type = string + default = "e2-small" +} + +variable "zone" { + description = "Nom de la zone" + type = string + default = "europe-west9-b" +} \ No newline at end of file diff --git a/tp-cloud/terraform/modules/compute/main.tf b/tp-cloud/terraform/modules/compute/main.tf index 2c4d96b..64e6dbc 100644 --- a/tp-cloud/terraform/modules/compute/main.tf +++ b/tp-cloud/terraform/modules/compute/main.tf @@ -1,10 +1,8 @@ -resource "google_compute_instance" "frontend" { - name = "${var.project_name}-frontend" +resource "google_compute_instance" "vm_frontend" { + name = "vm-frontend" machine_type = var.instance_type zone = var.zone - tags = ["frontend", "ssh"] - boot_disk { initialize_params { image = "debian-cloud/debian-11" @@ -13,23 +11,22 @@ resource "google_compute_instance" "frontend" { } network_interface { - subnetwork = var.frontend_subnet_id access_config {} # IP publique + subnetwork = var.frontend_subnet_id } + tags = ["frontend", "ssh"] + metadata = { enable-oslogin = "TRUE" } } -# --- Backend --- -resource "google_compute_instance" "backend" { - name = "${var.project_name}-backend" +resource "google_compute_instance" "vm_backend" { + name = "vm-backend" machine_type = var.instance_type zone = var.zone - tags = ["backend", "ssh"] - boot_disk { initialize_params { image = "debian-cloud/debian-11" @@ -41,19 +38,18 @@ resource "google_compute_instance" "backend" { subnetwork = var.backend_subnet_id } + tags = ["backend", "ssh"] + metadata = { enable-oslogin = "TRUE" } } -# --- Database --- -resource "google_compute_instance" "database" { - name = "${var.project_name}-database" +resource "google_compute_instance" "vm_database" { + name = "vm-database" machine_type = var.instance_type zone = var.zone - tags = ["database", "ssh"] - boot_disk { initialize_params { image = "debian-cloud/debian-11" @@ -65,7 +61,9 @@ resource "google_compute_instance" "database" { subnetwork = var.database_subnet_id } + tags = ["database", "ssh"] + metadata = { enable-oslogin = "TRUE" } -} +} \ No newline at end of file diff --git a/tp-cloud/terraform/modules/compute/outputs.tf b/tp-cloud/terraform/modules/compute/outputs.tf index 21ff5c4..58c6d07 100644 --- a/tp-cloud/terraform/modules/compute/outputs.tf +++ b/tp-cloud/terraform/modules/compute/outputs.tf @@ -1,22 +1,19 @@ -output "instance_internal_ips" { - description = "IPs internes de toutes les instances" +output "ip_internes" { value = { - frontend = google_compute_instance.frontend.network_interface[0].network_ip - backend = google_compute_instance.backend.network_interface[0].network_ip - database = google_compute_instance.database.network_interface[0].network_ip + frontend = google_compute_instance.vm_frontend.network_interface[0].network_ip + backend = google_compute_instance.vm_backend.network_interface[0].network_ip + database = google_compute_instance.vm_database.network_interface[0].network_ip } } -output "frontend_public_ip" { - description = "IP publique de l'instance frontend" - value = google_compute_instance.frontend.network_interface[0].access_config[0].nat_ip +output "ip_public_frontend" { + value = google_compute_instance.vm_frontend.network_interface[0].access_config[0].nat_ip } -output "instance_names" { - description = "Noms de toutes les instances" +output "nom_instances" { value = { - frontend = google_compute_instance.frontend.name - backend = google_compute_instance.backend.name - database = google_compute_instance.database.name + frontend = google_compute_instance.vm_frontend.name + backend = google_compute_instance.vm_backend.name + database = google_compute_instance.vm_database.name } } \ No newline at end of file diff --git a/tp-cloud/terraform/modules/compute/variables.tf b/tp-cloud/terraform/modules/compute/variables.tf index 64d9941..45cb530 100644 --- a/tp-cloud/terraform/modules/compute/variables.tf +++ b/tp-cloud/terraform/modules/compute/variables.tf @@ -1,36 +1,24 @@ variable "instance_type" { - description = "Type de machine pour les instances Compute Engine" - type = string - default = "e2-medium" + description = "type de l'instance" + type = string } variable "zone" { - description = "Zone GCP où déployer les instances" - type = string - default = "europe-west1-b" + description = "Nom de la zone" + type = string } variable "frontend_subnet_id" { - description = "ID du sous-réseau frontend" - type = string - default = "" - + description = "id du frontend" + type = string } variable "backend_subnet_id" { - description = "ID du sous-réseau backend" - type = string - default = "" + description = "id du backend" + type = string } variable "database_subnet_id" { - description = "ID du sous-réseau database" - type = string - default = "" -} - -variable "project_id" { - description = "ID du projet GCP" - type = string - default = "" -} + description = "id du database" + type = string +} \ No newline at end of file