Skip to content
This repository was archived by the owner on Jul 17, 2024. It is now read-only.

Commit 5453c58

Browse files
ludoojuliocc
andauthored
FAST multitenant bootstrap and resource management, rename org-level FAST stages (GoogleCloudPlatform#1052)
* rename stages * remove support for external org billing, rename output files * resman: make groups optional, align on new billing account variable * bootstrap: multitenant outputs * tenant bootstrap stage, untested * fix folder name * fix stage 0 output names * optional creation for tag keys in organization module * single tenant bootstrap minus tag * rename output files, add tenant tag key * fix organization module tag values output * test skipping creation for tags in organization module * single tenant bootstrap plan working * multitenant bootstrap * tfdoc * fix check links error messages * fix links * tfdoc * fix links * rename fast tests, fix bootstrap tests * multitenant stages have their own folder, simplify stage numbering * stage renumbering * wip * rename tests * exclude fast providers in fixture * stage 0 tests * stage 1 tests * network stages tests * stage tests * tfdoc * fix links * tfdoc * multitenant tests * remove local files * stage links command * fix links script, TODO * wip * wip single tenant bootstrap * working tenant bootstrap * update gitignore * remove local files * tfdoc * remove local files * allow tests for tenant bootstrap stage * tenant bootstrap proxies stage 1 tfvars * stage 2 and 3 service accounts and IAM in tenant bootstrap * wip * wip * wip * drop multitenant bootstrap * tfdoc * add missing stage 2 SAs, fix org-level IAM condition * wip * wip * optional tag value creation in organization module * stage 1 working * linting * linting * READMEs * wip * Make stage-links script work in old macos bash * stage links command help * fix output file names * diagrams * fix svg * stage 0 skeleton and diagram * test svg * test svg * test diagram * diagram * readme * fix stage links script * stage 0 readme * README changes * stage readmes * fix outputs order * fix link * fix tests * stage 1 test * skip stage example * boilerplate * fix tftest skip * default bootstrap stage log sinks to log buckets * add logging to tenant bootstrap * move iam variables out of tenant config * fix cicd, reintroduce missing variable * use optional in stage 1 cicd variable * rename extras stage * rename and move identity providers local, use optional for cicd variable * tfdoc * add support for wif pool and providers, ci/cd * tfdoc * fix links * better handling of modules repository * add missing role on logging project * fix cicd pools in locals, test cicd * fix workflow extension * fix module source replacement * allow tenant bootstrap cicd sa to impersonate resman sa * tenant workflow templates fix for no providers file * fix output files, push github workflow template to new repository * remove try from outpout files * align stage 1 cicd internals to stage 0 * tfdoc * tests * fix tests * tests * improve variable descriptions * use optional in fast features * actually create tenant log sinks, and allow the resman sa to do it * test * tests * aaaand tests again * fast features tenant override * fast features tenant override * fix wording * add missing comment * configure pf service accounts * add missing comment * tfdoc * tests * IAM docs * update copyright --------- Co-authored-by: Julio Castillo <[email protected]>
1 parent ea09a0d commit 5453c58

File tree

345 files changed

+12155
-2077
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

345 files changed

+12155
-2077
lines changed

.gitignore

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ bundle.zip
2121
**/*.pkrvars.hcl
2222
fixture_*
2323
fast/configs
24-
fast/stages/**/[0-9]*providers.tf
25-
fast/stages/**/terraform.tfvars
26-
fast/stages/**/terraform.tfvars.json
27-
fast/stages/**/terraform-*.auto.tfvars.json
28-
fast/stages/**/0*.auto.tfvars*
24+
fast/**/[0-9]*providers.tf
25+
fast/**/terraform.tfvars
26+
fast/**/terraform.tfvars.json
27+
fast/**/terraform-*.auto.tfvars.json
28+
fast/**/[0-9]*.auto.tfvars*
2929
**/node_modules
30-
fast/stages/**/globals.auto.tfvars.json
30+
fast/**/globals.auto.tfvars.json
3131
cloud_sql_proxy
3232
examples/cloud-operations/binauthz/tenant-setup.yaml
3333
examples/cloud-operations/binauthz/app/app.yaml

CHANGELOG.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ All notable changes to this project will be documented in this file.
480480
- fix `tag` output on `data-catalog-policy-tag` module
481481
- add shared-vpc support on `gcs-to-bq-with-least-privileges`
482482
- new `net-ilb-l7` module
483-
- new [02-networking-peering](fast/stages/02-networking-peering) networking stage
483+
- new `02-networking-peering` networking stage
484484
- **incompatible change** the variable for PSA ranges in networking stages have changed
485485

486486
## [14.0.0] - 2022-02-25
@@ -499,8 +499,8 @@ All notable changes to this project will be documented in this file.
499499
- **incompatible change** removed `ingress_settings` configuration option in the `cloud-functions` module.
500500
- new [m4ce VM example](blueprints/cloud-operations/vm-migration/)
501501
- Support for resource management tags in the `organization`, `folder`, `project`, `compute-vm`, and `kms` modules
502-
- new [data platform](fast/stages/03-data-platform) stage 3
503-
- new [02-networking-nva](fast/stages/02-networking-nva) networking stage
502+
- new `data platform` stage 3
503+
- new `02-networking-nva` networking stage
504504
- allow customizing the names of custom roles
505505
- added `environment` and `context` resource management tags
506506
- use resource management tags to restrict scope of roles/orgpolicy.policyAdmin

blueprints/data-solutions/data-platform-foundations/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The approach adapts to different high-level requirements:
2121
- least privilege principle
2222
- rely on service account impersonation
2323

24-
The code in this blueprint doesn't address Organization-level configurations (Organization policy, VPC-SC, centralized logs). We expect those elements to be managed by automation stages external to this script like those in [FAST](../../../fast) and this blueprint deployed on top of them as one of the [stages](../../../fast/stages/03-data-platform/dev/README.md).
24+
The code in this blueprint doesn't address Organization-level configurations (Organization policy, VPC-SC, centralized logs). We expect those elements to be managed by automation stages external to this script like those in [FAST](../../../fast) and this blueprint deployed on top of them as one of the [stages](../../../fast/stages/3-data-platform/dev/README.md).
2525

2626
### Project structure
2727

blueprints/gke/multitenant-fleet/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This blueprint presents an opinionated architecture to handle multiple homogeneo
44

55
The pattern used in this design is useful, for blueprint, in cases where multiple clusters host/support the same workloads, such as in the case of a multi-regional deployment. Furthermore, combined with Anthos Config Sync and proper RBAC, this architecture can be used to host multiple tenants (e.g. teams, applications) sharing the clusters.
66

7-
This blueprint is used as part of the [FAST GKE stage](../../../fast/stages/03-gke-multitenant/) but it can also be used independently if desired.
7+
This blueprint is used as part of the [FAST GKE stage](../../../fast/stages/3-gke-multitenant/) but it can also be used independently if desired.
88

99
<p align="center">
1010
<img src="diagram.png" alt="GKE multitenant">

blueprints/networking/hub-and-spoke-vpn/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ A few additional features are also shown:
77
- [custom BGP advertisements](https://cloud.google.com/router/docs/how-to/advertising-overview) to implement transitivity between spokes
88
- [VPC Global Routing](https://cloud.google.com/network-connectivity/docs/router/how-to/configuring-routing-mode) to leverage a regional set of VPN gateways in different regions as next hops (used here for illustrative/study purpose, not usually done in real life)
99

10-
The blueprint has been purposefully kept simple to show how to use and wire the VPC and VPN-HA modules together, and so that it can be used as a basis for experimentation. For a more complex scenario that better reflects real-life usage, including [Shared VPC](https://cloud.google.com/vpc/docs/shared-vpc) and [DNS cross-project binding](https://cloud.google.com/dns/docs/zones/cross-project-binding) please refer to the [FAST network stage](../../../fast/stages/02-networking-vpn/).
10+
The blueprint has been purposefully kept simple to show how to use and wire the VPC and VPN-HA modules together, and so that it can be used as a basis for experimentation. For a more complex scenario that better reflects real-life usage, including [Shared VPC](https://cloud.google.com/vpc/docs/shared-vpc) and [DNS cross-project binding](https://cloud.google.com/dns/docs/zones/cross-project-binding) please refer to the [FAST network stage](../../../fast/stages/2-networking-b-vpn/).
1111

1212
This is the high level diagram of this blueprint:
1313

0 commit comments

Comments
 (0)