cloud-foundation-fabric/modules
apichick 0ecd223038
Merge branch 'master' into apigee-module-fix-try
2023-09-29 17:01:01 +02:00
..
__docs Add IAM variables template to ADR 2023-09-17 10:50:03 +02:00
__experimental GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
alloydb-instance GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
api-gateway GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
apigee Fixed problem with try in apigee module 2023-09-29 16:46:34 +02:00
artifact-registry GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
bigquery-dataset GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
bigtable-instance GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
billing-budget GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
binauthz GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
cloud-config-container GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
cloud-function-v1 Add bug fix in bucket local variable (#1709) 2023-09-28 10:17:53 +00:00
cloud-function-v2 Add bug fix in bucket local variable (#1709) 2023-09-28 10:17:53 +00:00
cloud-identity-group GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
cloud-run GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
cloudsql-instance Add deletion_protection_enabled attribute to cloudsql-instance to enable the GCP native deletion protection flag (#1696) 2023-09-20 15:09:38 +02:00
compute-mig GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
compute-vm Allow using no service account in compute-vm (#1692) 2023-09-19 16:56:51 +00:00
container-registry GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
data-catalog-policy-tag GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
datafusion GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
dataplex GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
dataplex-datascan GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
dataproc GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
dns GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
dns-response-policy GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
endpoints GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
folder GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
gcs GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
gcve-private-cloud GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
gke-cluster-autopilot GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
gke-cluster-standard add support for default nodepool sa in GKE cluster module 2023-09-22 10:15:22 +02:00
gke-hub GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
gke-nodepool GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
iam-service-account GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
kms Make kms iam non-nullable 2023-09-17 00:21:36 +02:00
logging-bucket GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
ncc-spoke-ra GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-address GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-cloudnat GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-firewall-policy GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-ipsec-over-interconnect GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-lb-app-ext GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-lb-app-int GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-lb-ext Allow using no service account in compute-vm (#1692) 2023-09-19 16:56:51 +00:00
net-lb-int Allow using no service account in compute-vm (#1692) 2023-09-19 16:56:51 +00:00
net-lb-proxy-int GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-swp GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-vlan-attachment GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-vpc Merge branch 'master' into jccb/fix-subnet-iam-bindings 2023-09-15 14:31:28 +02:00
net-vpc-firewall GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-vpc-peering GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-vpn-dynamic Allow using no service account in compute-vm (#1692) 2023-09-19 16:56:51 +00:00
net-vpn-ha GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
net-vpn-static GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
organization GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
project GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
projects-data-source GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
pubsub Add retry policy for subscriptions (#1716) 2023-09-29 14:46:26 +00:00
secret-manager GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
service-directory GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
source-repository GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
vpc-sc GKE cluster modules: add optional kube state metrics (#1682) 2023-09-15 12:18:45 +01:00
README.md Merge branch 'elia-gcve' of github.com:GoogleCloudPlatform/cloud-foundation-fabric into elia-gcve 2023-08-14 14:46:16 +02:00

README.md

Terraform modules suite for Google Cloud

The modules collected in this folder are designed as a suite: they are meant to be composed together, and are designed to be forked and modified where use of third party code and sources is not allowed.

Modules try to stay close to the low level provider resources they encapsulate, and they all share a similar interface that combines management of one resource or set or resources, and the corresponding IAM bindings.

Authoritative IAM bindings are primarily used (e.g. google_storage_bucket_iam_binding for GCS buckets) so that each module is authoritative for specific roles on the resources it manages, and can neutralize or reconcile IAM changes made elsewhere.

Specific modules also offer support for non-authoritative bindings (e.g. google_storage_bucket_iam_member for service accounts), to allow granular permission management on resources that they don't manage directly.

These modules are not necessarily backward compatible. Changes breaking compatibility in modules are marked by major releases (but not all major releases contain breaking changes). Please be mindful when upgrading Fabric modules in existing Terraform setups, and always try to use versioned references in module sources so you can easily revert back to a previous version. Since the introduction of the moved block in Terraform we try to use it whenever possible to make updates non-breaking, but that does not cover all changes we might need to make.

These modules are used in the examples included in this repository. If you are using any of those examples in your own Terraform configuration, make sure that you are using the same version for all the modules, and switch module sources to GitHub format using references. The recommended approach to working with Fabric modules is the following:

  • Fork the repository and own the fork. This will allow you to:

    • Evolve the existing modules.
    • Create your own modules.
    • Sync from the upstream repository to get all the updates.
  • Use GitHub sources with refs to reference the modules. See an example below:

    module "project" {
        source              = "github.com/GoogleCloudPlatform/cloud-foundation-fabric//modules/project?ref=v13.0.0"
        name                = "my-project"
        billing_account     = "123456-123456-123456"
        parent              = "organizations/123456"
    }
    

Foundational modules

Networking modules

Compute/Container

Data

Development

Security

Serverless