This repository provides a collection of Terraform modules and complete architectural solutions to create and manage Google Cloud Platform (GCP) resources suitable for a variety of use cases.
The purpose of this repository is to provide a foundation for building cloud infrastructure that is secure, scalable, and maintainable.
Blueprints are complete, ready-to-use solutions that demonstrate how to deploy and manage GCP resources using Terraform. Each blueprint includes a set of modules and configurations that can be customized to fit specific requirements.
The purpose of the blueprints is to establish best practices and provide examples of how to implement common GCP architectures. They can be used as a starting point for new projects or as a reference for existing deployments.
Existing blueprints can be found in the blueprints directory.
Modules provide the reusable components for building GCP resources. Each module is designed to be used independently or as part of a larger architecture. The modules are organized by category, such as compute, database, storage, and security. Below is a list of available modules with their respective categories and locations within the repository.
Name | Category | Location | Description |
---|---|---|---|
firewall_rules | compute | modules/compute/firewall_rules |
A module to create firewall rules for GCP compute resources. |
gce_instance | compute | modules/compute/gce_instance |
A module to create and manage GCP Compute Engine instances. |
gke_cluster | compute | modules/compute/gke_cluster |
A module to create and manage GCP Kubernetes Engine clusters. |
gke_node_pool | compute | modules/compute/gke_node_pool |
A module to create and manage GCP Kubernetes Engine node pools. |
vpc_network | compute | modules/compute/vpc_network |
A module to create and manage GCP VPC networks. |
cloudsql_instance | database | modules/database/cloudsql_instance |
A module to create and manage GCP Cloud SQL instances. |
redis_instance | database | modules/database/redis_instance |
A module to create and manage GCP Redis instances. |
service_account | iam | modules/iam/service_account |
A module to create and manage GCP service accounts. |
workload_identity_pool | iam | modules/iam/workload_identity_pool |
A module to create and manage GCP Workload Identity Pools and associated providers. |
folder | platform | modules/platform/folder |
A module to create and manage GCP organizational folders. |
organization | platform | modules/platform/organization |
A module to manage GCP organization policies. |
project | platform | modules/platform/project |
A module to create and manage GCP projects. |
kms | security | modules/security/kms |
A module to create and manage GCP Key Management Service (KMS) keys. |
gcs_bucket | storage | modules/storage/gcs_bucket |
A module to create and manage GCP Cloud Storage buckets. |