cloud-foundation-fabric/modules
luigi-bitonti cec11d2d55
Add support for service_external_ips_config to GKE cluster modules (#1970)
* Added variable in gke standard and autopilot modules

* Changed variable position

* Added dynamic block
2024-01-12 11:50:53 +01:00
..
__docs Add IAM variables template to ADR 2023-09-17 10:50:03 +02:00
__experimental Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
api-gateway Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
apigee Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
artifact-registry Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
bigquery-dataset Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
bigtable-instance Support CMEK encryption on Bigtable instances. (#1956) 2024-01-05 09:29:36 +01:00
billing-account Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
binauthz Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
cloud-config-container Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
cloud-function-v1 Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
cloud-function-v2 use provided SA for cloud function v2 trigger (#1968) 2024-01-08 16:39:01 +00:00
cloud-identity-group Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
cloud-run Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
cloud-run-v2 tfdoc 2023-12-25 08:42:22 +00:00
cloudsql-instance Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
compute-mig Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
compute-vm Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
container-registry Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
data-catalog-policy-tag Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
datafusion Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
dataplex Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
dataplex-datascan Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
dataproc Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
dns dns e2e tests (#1944) 2023-12-23 10:29:32 +00:00
dns-response-policy Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
endpoints Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
folder Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
gcs Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
gcve-private-cloud Fix GCVE network policy (#1948) 2023-12-22 10:29:43 +00:00
gke-cluster-autopilot Add support for service_external_ips_config to GKE cluster modules (#1970) 2024-01-12 11:50:53 +01:00
gke-cluster-standard Add support for service_external_ips_config to GKE cluster modules (#1970) 2024-01-12 11:50:53 +01:00
gke-hub Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
gke-nodepool Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
iam-service-account Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
kms Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
logging-bucket Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
ncc-spoke-ra Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-address Add support for subnetwork for external addresses 2024-01-06 14:02:52 +01:00
net-cloudnat Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-firewall-policy Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-ipsec-over-interconnect Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-lb-app-ext Rename compute-mig-bc.tf to compute-vm-group-bc.tf 2024-01-06 12:05:53 +01:00
net-lb-app-ext-regional Fix HTTP to HTTPS example 2024-01-06 12:05:53 +01:00
net-lb-app-int Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-lb-ext Use fixtures in net-lb-ext 2024-01-06 17:09:49 +01:00
net-lb-int Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-lb-proxy-int Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-swp Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-vlan-attachment Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-vpc Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-vpc-firewall Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-vpc-peering Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-vpn-dynamic Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-vpn-ha Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
net-vpn-static Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
organization Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
project Create bigtable service identity with project if api is enabled (#1958) 2024-01-06 16:38:08 +01:00
projects-data-source Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
pubsub Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
secret-manager Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
service-directory Capitalize Private Network Access 2024-01-05 15:05:32 +00:00
source-repository Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
vpc-sc Support for ANY_USER_ACCOUNT in module vpc-sc egress rule. (#1966) 2024-01-08 14:23:07 +01:00
workstation-cluster Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
README.md Update README.md 2024-01-05 17:30:34 +01: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&depth=1"
        name                = "my-project"
        billing_account     = "123456-123456-123456"
        parent              = "organizations/123456"
    }
    

Foundational modules

Networking modules

Compute/Container

Data

Development

Security

Serverless