cloud-foundation-fabric/modules
Julio Castillo 8beb621e07
New module for external regional application load balancer (#1892)
* Initial version of regional external application load balancer.

* Fix tests

* Remove unsupported features in regional app lbs

* update readme with fixtures

* Add ssl-certificate fixture

* Switch examples to regions b c

* Remove redundant NEG examples

* Update README

* Update versions.tf

* Add missing boilerplate
2024-01-05 16:59:27 +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 new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +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 Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
gke-cluster-standard Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00: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 Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00: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 Use zones b and c for MIG fixture (#1961) 2024-01-05 15:02:12 +00:00
net-lb-app-ext-regional New module for external regional application load balancer (#1892) 2024-01-05 16:59:27 +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 new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00: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 Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00: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 Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
workstation-cluster Use new resources in GCVE module, bump up provider versions (#1941) 2023-12-21 13:23:38 +00:00
README.md Links to the new module in READMEs 2023-12-26 11:52:13 +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