cloud-foundation-fabric/modules
luigi-bitonti 4e439720aa
Added ProtectedApplication feature to GKE Backup (#1774)
* Added ProtectedApplication feature to GKE Backup

* Fixed location name and added example

* Modified test module

* Changed test

* Changed test

* Changed test

* Restore old "all_namespaces" logic

* Bug fix

* Ran fmt on README example

* Modified variable structure

* Fix test

* Fix
2023-10-19 19:54:22 +02:00
..
__docs Add IAM variables template to ADR 2023-09-17 10:50:03 +02:00
__experimental Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
api-gateway Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
apigee Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
artifact-registry Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
bigquery-dataset Add outputs to BigQuery dataset module (#1752) 2023-10-13 17:02:47 +02:00
bigtable-instance Enforce mandatory types in all variables (#1737) 2023-10-06 09:44:33 +00:00
billing-account Billing account module (#1743) 2023-10-15 15:02:50 +00:00
binauthz Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-config-container Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-function-v1 Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-function-v2 Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-identity-group Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-run Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloudsql-instance Make deletion protection consistent across all modules (#1735) 2023-10-05 17:31:07 +02:00
compute-mig Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
compute-vm fix resource manager tag bindings in compute-vm module (#1771) 2023-10-18 09:24:00 +00:00
container-registry Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
data-catalog-policy-tag Enforce mandatory types in all variables (#1737) 2023-10-06 09:44:33 +00:00
datafusion Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
dataplex Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
dataplex-datascan Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
dataproc Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
dns Fix dnssec keys lookup (#1728) 2023-10-03 21:37:21 +02:00
dns-response-policy Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
endpoints Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
folder Add gcp org policy constraints file to bootstrap stage (#1775) 2023-10-18 18:21:16 +00:00
gcs Add autoclass to GCS (#1757) 2023-10-16 07:45:10 +00:00
gcve-private-cloud Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
gke-cluster-autopilot Module autopilot bug fixes (#1746) 2023-10-12 12:40:28 +02:00
gke-cluster-standard Added ProtectedApplication feature to GKE Backup (#1774) 2023-10-19 19:54:22 +02:00
gke-hub Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
gke-nodepool Fix typo in GKE nodepool taints (#1754) 2023-10-12 12:04:15 +00:00
iam-service-account Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
kms Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
logging-bucket Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
ncc-spoke-ra Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-address Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-cloudnat Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-firewall-policy Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-ipsec-over-interconnect Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-lb-app-ext Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-lb-app-int Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-lb-ext Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-lb-int Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-lb-proxy-int Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-swp Enforce mandatory types in all variables (#1737) 2023-10-06 09:44:33 +00:00
net-vlan-attachment Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpc Make subnets depend on proxy only subnets (#1762) 2023-10-16 11:39:52 +00:00
net-vpc-firewall Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpc-peering Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpn-dynamic Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpn-ha Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpn-static Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
organization Add gcp org policy constraints file to bootstrap stage (#1775) 2023-10-18 18:21:16 +00:00
project Add gcp org policy constraints file to bootstrap stage (#1775) 2023-10-18 18:21:16 +00:00
projects-data-source Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
pubsub Append "s" to backoff times (#1744) 2023-10-10 13:32:19 +03:00
secret-manager Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
service-directory Fix dnssec keys lookup (#1728) 2023-10-03 21:37:21 +02:00
source-repository Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
vpc-sc Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
README.md Billing account module (#1743) 2023-10-15 15:02:50 +00: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