Files
but3-iac_RH/terraform/environments/dev/main.tf
2025-12-03 16:21:37 +01:00

64 lines
1.4 KiB
HCL

terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "~> 6.12.0"
}
}
}
provider "google" {
project = var.project_id
region = var.region
}
# ------------------------
# Module NETWORK
# ------------------------
module "network" {
source = "../../modules/network"
project_name = var.project_name
region = var.region
frontend_cidr = var.frontend_cidr
backend_cidr = var.backend_cidr
database_cidr = var.database_cidr
ssh_source_ranges = var.ssh_source_ranges
}
# ------------------------
# Module COMPUTE
# ------------------------
module "compute" {
source = "../../modules/compute"
instance_type = var.instance_type
zone = var.zone
frontend_subnet_id = module.network.subnet_ids["frontend"]
backend_subnet_id = module.network.subnet_ids["backend"]
database_subnet_id = module.network.subnet_ids["database"]
}
# ------------------------
# Module IAM
# ------------------------
module "iam" {
source = "../../modules/iam"
project_id = var.project_id
}
# ------------------------
# Fichier template Ansible
# ------------------------
data "templatefile" "ansible_cfg" {
template = file("../../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"]
}
}