Files
Aaron Levy f9421c10a1 Reducing strictness of GCP provider version pinning (#201)
The GCP Terraform modules currently have strict version pinning for the
GCP Terraform provider, which limits the ability to use newer provider
versions.

This change is in line with the version pinning done for the AWS
provider in the Fleet AWS Terraform module, as well as HashiCorp
documented best practices for provider version pinning in reusable
modules:
https://developer.hashicorp.com/terraform/language/expressions/version-constraints#terraform-core-and-provider-versions
2026-03-26 09:27:28 -05:00

64 lines
1.6 KiB
Terraform

terraform {
required_version = "~> 1.11"
required_providers {
google = {
source = "hashicorp/google"
version = ">= 6.35.0"
}
}
}
provider "google" {
# Credentials used here need Org/Folder level permissions
default_labels = var.labels
}
module "project_factory" {
source = "terraform-google-modules/project-factory/google"
version = "~> 18.0.0"
name = var.project_name
random_project_id = var.random_project_id
org_id = var.org_id
billing_account = var.billing_account_id
default_service_account = "delete"
# Enable baseline APIs needed by most projects + your app stack
activate_apis = [
"compute.googleapis.com",
"sqladmin.googleapis.com",
"redis.googleapis.com",
"run.googleapis.com",
"vpcaccess.googleapis.com",
"secretmanager.googleapis.com",
"storage.googleapis.com",
"dns.googleapis.com",
"iam.googleapis.com",
"cloudresourcemanager.googleapis.com",
"serviceusage.googleapis.com",
"servicenetworking.googleapis.com",
"logging.googleapis.com",
"monitoring.googleapis.com",
"memorystore.googleapis.com",
"serviceconsumermanagement.googleapis.com",
"networkconnectivity.googleapis.com"
]
labels = var.labels
}
module "fleet" {
source = "./byo-project"
project_id = module.project_factory.project_id
dns_record_name = var.dns_record_name
dns_zone_name = var.dns_zone_name
vpc_config = var.vpc_config
fleet_config = var.fleet_config
cache_config = var.cache_config
database_config = var.database_config
region = var.region
location = var.location
}