diff --git a/terraform/environments/dev/main.tf b/terraform/environments/dev/main.tf index 1ad2696..e278faa 100644 --- a/terraform/environments/dev/main.tf +++ b/terraform/environments/dev/main.tf @@ -52,12 +52,9 @@ module "iam" { # Fichier template Ansible # ------------------------ -data "template" "ansible_cfg" { - template = file("${path.module}/../../template/ansible.cfg.tpl") - - vars = { - frontend_ip = module.compute.frontend_public_ip - backend_ip = module.compute.internal_ips["backend"] - db_ip = module.compute.internal_ips["database"] - } +data "local_file" "ansible_cfg" { + filename = "${path.module}/ansible.cfg" + content = templatefile("${path.module}/../../template/ansible.cfg.tpl", { + remote_user = "raphael.hochlaf@gmail.com" + }) } diff --git a/terraform/modules/network/main.tf b/terraform/modules/network/main.tf index 0fe3081..1457c62 100644 --- a/terraform/modules/network/main.tf +++ b/terraform/modules/network/main.tf @@ -1,83 +1,79 @@ -# À vous de créer : -# 1. Un VPC personnalisé avec auto_create_subnetworks = false -resource "google_compute_network" "VPC" { - name = "vpc" - auto_create_subnetworks = false +resource "google_compute_network" "vpc" { + name = "${var.project_name}-vpc" + auto_create_subnetworks = false } -# 2. Trois sous-réseaux (frontend, backend, database) resource "google_compute_subnetwork" "frontend" { - name = "${var.project_name}-frontend" - ip_cidr_range = var.frontend_cidr - region = var.region - network = google_compute_network.vpc.id + name = "${var.project_name}-frontend" + region = var.region + network = google_compute_network.vpc.self_link + ip_cidr_range = var.frontend_cidr } + resource "google_compute_subnetwork" "backend" { - name = "${var.project_name}-backend" - ip_cidr_range = var.backend_cidr - region = var.region - network = google_compute_network.vpc.id + name = "${var.project_name}-backend" + region = var.region + network = google_compute_network.vpc.self_link + ip_cidr_range = var.backend_cidr } + resource "google_compute_subnetwork" "database" { - name = "${var.project_name}-database" - ip_cidr_range = var.database_cidr - region = var.region - network = google_compute_network.vpc.id + name = "${var.project_name}-database" + region = var.region + network = google_compute_network.vpc.self_link + ip_cidr_range = var.database_cidr } -# 3. Règles de firewall : -# HTTP/HTTPS → frontend +# Firewall rules ------------------ + resource "google_compute_firewall" "frontend_http" { - name = "${var.project_name}-frontend-http" - network = google_compute_network.vpc.name + name = "${var.project_name}-frontend-http" + network = google_compute_network.vpc.self_link - allow { - protocol = "tcp" - ports = ["80", "443"] - } + allow { + protocol = "tcp" + ports = ["80", "443"] + } - target_tags = ["frontend"] - source_ranges = ["0.0.0.0/0"] + target_tags = ["frontend"] + source_ranges = ["0.0.0.0/0"] } -# SSH → all resource "google_compute_firewall" "ssh" { - name = "${var.project_name}-ssh" - network = google_compute_network.vpc.name + name = "${var.project_name}-ssh" + network = google_compute_network.vpc.self_link - allow { - protocol = "tcp" - ports = ["22"] - } + allow { + protocol = "tcp" + ports = ["22"] + } - target_tags = ["ssh"] - source_ranges = ["0.0.0.0/0"] + target_tags = ["ssh"] + source_ranges = [var.ssh_source_ranges] } -# Port 8000 : frontend → backend resource "google_compute_firewall" "frontend_backend" { - name = "${var.project_name}-frontend-to-backend" - network = google_compute_network.vpc.name + name = "${var.project_name}-frontend-to-backend" + network = google_compute_network.vpc.self_link - allow { - protocol = "tcp" - ports = ["8000"] - } + allow { + protocol = "tcp" + ports = ["8000"] + } - source_tags = ["frontend"] - target_tags = ["backend"] + source_tags = ["frontend"] + target_tags = ["backend"] } -# Port 3306 : backend → database resource "google_compute_firewall" "backend_database" { - name = "${var.project_name}-backend-to-database" - network = google_compute_network.vpc.name + name = "${var.project_name}-backend-to-database" + network = google_compute_network.vpc.self_link - allow { - protocol = "tcp" - ports = ["3306"] - } + allow { + protocol = "tcp" + ports = ["3306"] + } - source_tags = ["backend"] - target_tags = ["database"] + source_tags = ["backend"] + target_tags = ["database"] } \ No newline at end of file diff --git a/terraform/modules/network/outputs.tf b/terraform/modules/network/outputs.tf index 0a42629..b2b15a7 100644 --- a/terraform/modules/network/outputs.tf +++ b/terraform/modules/network/outputs.tf @@ -8,4 +8,4 @@ output "subnet_ids" { backend = google_compute_subnetwork.backend.id database = google_compute_subnetwork.database.id } -} \ No newline at end of file +}