A Terraform module for creating and configuring Google Cloud Platform projects with best practices for Shared VPC, IAM, and APIs.
terraform-google-project-factory is a Terraform module that automates the creation and configuration of Google Cloud Platform projects. It solves the problem of manually setting up new projects by applying best practices for Shared VPC, IAM, service accounts, and API enablement in a consistent, repeatable way.
DevOps engineers, SREs, and cloud platform teams managing GCP infrastructure who need to provision projects with security and networking best practices enforced from the start.
Developers choose this module because it reduces manual errors, ensures compliance with organizational policies, and speeds up project provisioning through infrastructure-as-code principles, all while being maintained as part of the official Terraform Google modules.
Creates an opinionated Google Cloud project by using Shared VPC, IAM, and Google Cloud APIs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically configures Shared VPC, IAM roles, and service accounts to follow GCP security guidelines, reducing manual configuration errors as stated in the Philosophy section.
Handles project creation, API enablement, budget alerts, and service account management in a single Terraform apply, covering features from the README like deleting default networks and enabling usage reports.
Seamlessly attaches projects to Shared VPC hosts and grants networkUser roles to service accounts and groups based on specified subnets, with detailed logic in the Shared VPC subnets and IAM permissions section.
Optional budget configuration with alerts and monitoring helps manage project spending from the start, as shown in the inputs for budget_amount and related variables.
Requires specific IAM permissions, API enablement in a seed project, and use of helper scripts like setup-sa.sh, which adds significant configuration overhead as detailed in the Requirements and Permissions sections.
Core module does not integrate G Suite for group management; a separate module is needed, fragmenting functionality and increasing setup complexity, as admitted in the G Suite section.
A known issue with moving projects from organization root to folders requires workarounds, potentially disrupting workflows, as highlighted in the Caveats section under 'Moving projects from org into a folder'.