AutoGPT/autogpt_platform/infra/terraform/main.tf

64 lines
1.5 KiB
HCL

terraform {
required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
version = "~> 4.0"
}
}
backend "gcs" {
bucket = "agpt-dev-terraform"
prefix = "terraform/state"
}
}
provider "google" {
project = var.project_id
zone = var.zone
}
module "static_ips" {
source = "./modules/static_ip"
project_id = var.project_id
ip_names = var.static_ip_names
region = var.region
}
module "networking" {
source = "./modules/networking"
project_id = var.project_id
region = var.region
network_name = var.network_name
subnet_name = var.subnet_name
subnet_cidr = var.subnet_cidr
pods_ip_cidr_range = var.pods_ip_cidr_range
services_ip_cidr_range = var.services_ip_cidr_range
}
module "gke_cluster" {
source = "./modules/gke_cluster"
project_id = var.project_id
zone = var.zone
cluster_name = var.cluster_name
node_pool_name = var.node_pool_name
node_count = var.node_count
machine_type = var.machine_type
disk_size_gb = var.disk_size_gb
network = module.networking.network_self_link
subnetwork = module.networking.subnet_self_link
enable_autopilot = var.enable_autopilot
}
module "iam" {
source = "./modules/iam"
project_id = var.project_id
service_accounts = var.service_accounts
workload_identity_bindings = var.workload_identity_bindings
role_bindings = var.role_bindings
}