Commit Graph

680 Commits

Author SHA1 Message Date
Ludovico Magnocavallo e14789ecb0
link project factory documentation from FAST stage (#1659) 2023-09-08 07:14:16 +00:00
Ludovico Magnocavallo ec3b705f53
Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658)
* modules

* fast

* dns readme
2023-09-08 08:56:31 +02:00
Luca Prete 12e78af055
Fix project factory blueprint and fast stage (#1654) 2023-09-07 12:48:39 +00:00
Oliver Frolovs 988fd2ee05
gke-cluster-standard: change logging configuration (#1638)
* Update logging configuration of this module to use object interface in harmony with `gke-cluster-autopilot` module.
* Update blueprints that use this module.
* Add "WORKLOADS" log source to logging configuration of the blueprints where the README files say so.
* Update FAST stage 3 because it uses this module.
2023-08-31 12:49:15 +01:00
Julio Castillo 804e7c961e Silence FAST tests warnings
- Fix pytest PytestUnraisableExceptionWarning
- Remove incorrect print
- Use tfvars for some examples in READMEs
2023-08-28 18:40:41 +02:00
Luca Prete c63884d52e
Remove unused ASN numbers in CloudNAT to avoid FAST provider errors 2023-08-28 15:32:30 +00:00
Julio Castillo b88e4c6f6e Fix syntax error in FAST nva 2023-08-28 16:28:01 +02:00
Julio Castillo b701d55b1f Fix tests 2023-08-28 16:00:48 +02:00
Julio Castillo 5e9829373c Fix FAST hfw policies 2023-08-28 16:00:48 +02:00
Luca Prete 4c64c15871
Revert "Remove unused ASN numbers from CloudNAT to avoid provider errors" (#1626)
This reverts commit 311bed8e83.
2023-08-28 09:33:52 +02:00
Julio Castillo 1adfb9fb32 Fix role name for delegated grants in FAST bootstrap
Fixes issue behind #1621
2023-08-24 19:13:42 +02:00
Luca Prete 50a449965f
Fix: align stage-2-e-nva-bgp to the latest APIs 2023-08-23 13:34:11 +02:00
Luca Prete 8ca60881f1
Fix: use existing variable to optionally name fw policies (#1610) 2023-08-22 08:55:56 +02:00
Ludovico Magnocavallo 819894d2ba
IAM interface refactor (#1595)
* IAM modules refactor proposal

* policy

* subheading

* Update 20230816-iam-refactor.md

* log Julio's +1

* data-catalog-policy-tag

* dataproc

* dataproc

* folder

* folder

* folder

* folder

* project

* better filtering in test examples

* project

* folder

* folder

* organization

* fix variable descriptions

* kms

* net-vpc

* dataplex-datascan

* modules/iam-service-account

* modules/source-repository/

* blueprints/cloud-operations/vm-migration/

* blueprints/third-party-solutions/wordpress

* dataplex-datascan

* blueprints/cloud-operations/workload-identity-federation

* blueprints/data-solutions/cloudsql-multiregion/

* blueprints/data-solutions/composer-2

* Update 20230816-iam-refactor.md

* Update 20230816-iam-refactor.md

* capture discussion in architectural doc

* update variable names and refactor proposal

* project

* blueprints first round

* folder

* organization

* data-catalog-policy-tag

* re-enable folder inventory

* project module style fix

* dataproc

* source-repository

* source-repository tests

* dataplex-datascan

* dataplex-datascan tests

* net-vpc

* net-vpc test examples

* iam-service-account

* iam-service-account test examples

* kms

* boilerplate

* tfdoc

* fix module tests

* more blueprint fixes

* fix typo in data blueprints

* incomplete refactor of data platform foundations

* tfdoc

* data platform foundation

* refactor data platform foundation iam locals

* remove redundant example test

* shielded folder fix

* fix typo

* project factory

* project factory outputs

* tfdoc

* test workflow: less verbose tests, fix tf version

* re-enable -vv, shorter traceback, fix action version

* ignore github extension warning, re-enable action version

* fast bootstrap IAM, untested

* bootstrap stage IAM fixes

* stage 0 tests

* fast stage 1

* tenant stage 1

* minor changes to fast stage 0 and 1

* fast security stage

* fast mt stage 0

* fast mt stage 0

* fast pf
2023-08-20 09:44:20 +02:00
lcaggio 6eeba5e599
[Data Platform] Update README.md (#1601)
Fix hardcoded path in readme.
2023-08-18 18:27:43 +02:00
Alejandro Leal ea0de3adbb Fixing some typos 2023-08-18 05:51:00 +00:00
Stefan Moser dcb3c32761
fix null object exception in bootstrap output when using cloudsource repos (#1597) 2023-08-17 09:03:23 +00:00
Ludovico Magnocavallo 2423fd40c1
Fix FAST CI/CD for Gitlab (#1593)
* fix cicd (multitenant untested)

* tfdoc

* rename allowed_audiences to audiences, align multitenant
2023-08-15 12:59:31 +02:00
Ludovico Magnocavallo c5a77ebfe3
fix module path for teams cicd (#1583) 2023-08-09 21:41:56 +00:00
Matt 9600047a32
Enable team CI/CD impersonation (#1579) 2023-08-09 08:46:24 -04:00
Ludovico Magnocavallo 79373721df
Remove firewall policy management from resource management modules (#1581)
* rename firewall policy module, fix outputs

* add TOC to firewall policy module

* don't depend policy on parent id

* remove firewall policy from resource management modules

* remove factory conditionals

* fast net a and b

* fast stages

* fast tfdoc

* fast tfdoc

* remove unused test

* fix shielded folder blueprint

* fix shielded folder blueprint
2023-08-09 11:23:07 +00:00
Ludovico Magnocavallo 9c75aa469c
More module descriptions (#1572)
* bigquery dataset

* data catalog policy tag

* net-address

* fix data catalog callers

* bigquery dataset views

* fix data catalog callers

* logging bucket

* net vpn ha
2023-08-06 09:25:45 +00:00
Luca Prete 311bed8e83
Remove unused ASN numbers from CloudNAT to avoid provider errors 2023-08-04 08:02:11 +00:00
Luca Prete 47daeaafe1
Update FAST CI/CD workflows so it can work with ID_TOKEN and Gitlab 15+ 2023-08-03 16:09:45 +00:00
Ludovico Magnocavallo b524aa137c
Peering module refactor (#1547)
* refactor net-vpc-peering module

* hub and spoke peering blueprint

* fast stages

* boilerplate

* fast tfdoc

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2023-07-29 21:33:57 +02:00
Ludovico Magnocavallo c918cfc800
Update README.md 2023-07-27 13:40:26 +02:00
Ludovico Magnocavallo ea800fa475
fix stage links for GKE stage (#1514) 2023-07-20 10:48:45 +00:00
Miren Esnaola cacb0c02e2 Refactoring of dns module 2023-07-19 12:57:44 +02:00
Ludovico Magnocavallo aa1a79632b
Create 0-org-policies.md 2023-07-15 18:40:18 +02:00
Ludovico Magnocavallo 4ad55923b7
Update 0-bootstram-user-iam.md 2023-07-13 19:33:01 +02:00
Ludovico Magnocavallo fbbe668015
Document architectural decisions (#1506)
* add architectural decisions log and first decision

* add header

* typo
2023-07-13 16:15:32 +02:00
Natalia Strelkova e00d3bcba4
README: audit logs on org level go to a logging bucket, not bigquery 2023-07-10 16:42:01 +02:00
Ludovico Magnocavallo 154df17951
FAST: initial implementation of lightweight tenants (#1470)
* initial import

* fixes

* fixes

* fixes

* red SA roles

* red SA roles

* org-level custom roles var, tenants IAM config

* tfdoc

* allow core SA to write output files to tenant bucket

* README

* implement comments on PR

* show tenant org example

* update example
2023-07-07 08:40:37 +02:00
Aurélien Legrand 623c886e95
Peering dashboard (#1492)
* Adding dashboard to monitor VPC and VPC peering group quotas

* Adding 1 ressource to the tests (dashboard)

* Adding dashboard and tests for other networking architecture

* Update test
2023-07-05 18:25:31 +02:00
Julio Castillo d49a5c0fbb Fix primary gke/dp ranges in FAST subnets 2023-06-30 19:28:21 +02:00
Roberto Jung Drebes 772cf813fc
FAST: short_name_is_prefix for multi-tenant (#1478)
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2023-06-30 09:49:25 +02:00
Alejandro Leal 43b3490ef1 Updating a few files for typos
fast/stages/3-data-platform/dev/README.md
fast/stages/3-data-platform/dev/outputs.tf
CHANGELOG.md
blueprints/data-solutions/data-platform-minimal/README.md
blueprints/data-solutions/data-platform-minimal/outputs.tf
blueprints/data-solutions/data-platform-foundations/README.md
2023-06-29 21:47:17 -04:00
Arvind Ganesh d3e4864b57 Making the changes as suggested in https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/1477#issuecomment-1612846907 2023-06-29 12:24:29 -04:00
Arvind Ganesh 0b19a16593 Changing the IP ranges in all networking stages 2023-06-28 14:45:33 -04:00
Arvind Ganesh f75bc321b9 Changing the IP range of pods from 100.64.48.0/20 to 100.65.16.0/20 as there is an overlap in 100.64.0.0/16 range with dev-gke-nodes-ew1.yaml 2023-06-28 14:15:35 -04:00
Julio Castillo d6aea3ff5f Remove unneeded file from resman stage 2023-06-27 09:54:46 +02:00
Ludovico Magnocavallo 638841c8d1
Rename network load balancer modules (#1466)
* update LB modules to new names

* update LB modules names

* update test paths
2023-06-26 07:50:10 +00:00
Albert Lloveras 7cacc46b4b
fixup(project-factory): Use the correct KMS Service Agents attribute … (#1446)
* fixup(project-factory): Use the correct KMS Service Agents attribute name

* Add new KMS bindings to tests

* Update test resource counts

* Update README.md resource count
2023-06-19 23:53:08 +00:00
Keith Harvey a68a3b55cb
Bump TF version in all workflow templates to coincide with module requirements (#1445)
* Resman - bump GH TF version to coincide with module requirements (#1)

Bootstrap was bumped in #1414

* Bump TF version in all workflow files

* bump TF version in missed workflow file
2023-06-16 07:39:28 +00:00
Ludovico Magnocavallo 815728aca6
fix repo names check (#1443) 2023-06-15 16:08:57 +00:00
Julio Castillo e900e9c951 Make internal/external addresses optional in compute-vm
Fixes 1431
2023-06-08 14:00:10 +02:00
Wiktor Niesiobędzki 6b4bca10bd Use RFC6598 addresses for pods and subnets
10.128.0.0/9 is public network.

Closes: #1424
2023-06-08 07:56:31 +02:00
Ludovico Magnocavallo c024eca320
Add custom tag support to FAST (#1426)
* initial implementation of custom tags

* depend org policies on tags

* fix test

* integrate default and custom org policy tags
2023-06-07 22:10:27 +00:00
Ludovico Magnocavallo 7bd6e5d57b
Small fixes (#1425)
* fix serverless connector plugin outputs

* add internal and lb to allowed ingress org policy

* add validation condition on cloud run ingress settings

* tfdoc

* plugin tfdoc

* allow disabling googleapis routes with a single instruction in net-vpc

* fix variable def

* fix variable description

* fix cr variable validation

* fix usage of   create_googleapis_routes in examples and stages
2023-06-07 17:37:46 +00:00
Ana Fernandez del Alamo 0fe3f165ed Add VPN monitoring alerts to 2-networking and VPN usage chart
The Fast stage 2-networking-* currently adds a monitoring dashboard
for VPN metrics. This change adds an additional chart to monitor the
usage of the VPN bandwidth.

This change also adds the following monitoring alerts:

* VPN tunnel established
*
[VPN bandwidth](https://cloud.google.com/network-connectivity/docs/vpn/how-to/viewing-logs-metrics#define-bandwidth-alerts)

To configure the alerts, there is a new `alert_config` variable with
defined default values.

The alerts are created in the stage `b` by default. In the stages a,
c, d, and e, the alerts are created if the user creates the On-prem
VPN.

To disable the creation of alerts, add the following to
`terraform.tfvars`:

```
alert_config = {
  vpn_tunnel_established = null
  vpn_tunnel_bandwidth = null
}
```
2023-06-06 13:49:21 +01:00
Julio Castillo 9af4db2fa0
Delete FAQ.md 2023-06-06 14:47:26 +02:00
David Asaf 43ce70e1ed
Bump GH TF version to coincide with module requirements (#1414) 2023-06-03 06:20:11 +00:00
Julio Castillo b6ce4222d1 Fix nva stages tests 2023-05-26 17:32:34 +02:00
Julio Castillo fb121b4d08 Fix FAST tests 2023-05-26 17:17:40 +02:00
Julio Castillo 0888cce3a5 Rename to `create_googleapis_routes` 2023-05-26 16:43:43 +02:00
Julio Castillo 7a91a7e41c Add default googleapi route creation to net-vpc 2023-05-26 10:55:35 +02:00
Ludovico Magnocavallo 4aa99ea829
allow setting identities in egress policies (#1394) 2023-05-24 12:05:16 +02:00
Gustavo Valverde 00cac9148a
fix(stages): only add sandbox SA when `sandbox` feature is enabled (#1391)
If you have the `project_factory` feature enabled, but not the `sandbox` feature (as it's not a requirement on your org), when doing a `terraform apply` on `1-resman` it raises this errors as it's expecting the wrong feature when creating the sandbox SA

```
│ Error: Invalid index
│ 
│   on branch-sandbox.tf line 68, in resource "google_organization_iam_member" "org_policy_admin_sandbox":
│   68:   member = module.branch-sandbox-sa.0.iam_email
│     ├────────────────
│     │ module.branch-sandbox-sa is empty tuple
│ 
│ The given key does not identify an element in this collection value: the collection has no elements.
```
2023-05-24 05:17:35 +00:00
Ludovico Magnocavallo e0911c6291
Add conditional org admin role to sandbox SA (#1385)
* add org admin conditional role to sandbox SA

* tfdoc
2023-05-21 10:48:41 +02:00
Roberto Jung Drebes d2f0b17ec4
Allows groups from other orgs/domains (#1383)
* Allows groups from other orgs
2023-05-17 11:07:47 +02:00
Alejandro Leal 0ad21351c0
Merge branch 'master' into master 2023-05-15 14:25:42 -04:00
Natalia Strelkova c4ec4868c2
Merge branch 'master' into fast-home-path-fix 2023-05-15 13:16:55 +02:00
Natalia Strelkova f5b10fa3da
Fixed home path 2023-05-15 12:55:43 +02:00
Alex Ostapenko 7861ea74b8
fixed permissions for security stage SA (#1376)
it should be able to use automation project
as a quota project, hence it needs `serviceusage.serviceUsageConsumer`
role
2023-05-15 10:20:33 +00:00
Alejandro Leal 87cd83f5c0 Several updates
Several updates
2023-05-13 23:51:46 -04:00
Fawzi ac349332c4 fix routes priority typo 2023-05-09 21:28:56 +10:00
Jack P 491b52f023
update variables files for gke nodepool taints (#1358)
* update variables files for gke node config taints to allow passing of node objects

* forgot to run terraform fmt..

* update module docs
2023-05-05 19:42:00 +02:00
Ludovico Magnocavallo efb0ebe689
Switch FAST networking stages to network policies for Google domains (#1352)
* peering stage implementation

* vpn stage implementation

* tfdoc

* tests

* add most supported google domains

* align all net stages

* add support for factory to DNS response policy module

* use dns policy factory in network stages

* boilerplate
2023-05-04 07:38:40 +02:00
Ludovico Magnocavallo 75cc2f3d7a
FAST: shorten stage 3 prefixes, enforce prefix length in stage 3s (#1346)
* shorten stage 3 prefixes, enforce prefix length in stage 3s

* tfdoc

* tfdoc
2023-05-03 07:39:41 +02:00
Julio Castillo 6f06ca5781 Fix readmes 2023-04-27 12:46:52 +02:00
Julio Castillo 127787c65e Add logging details to bootstrap outputs 2023-04-27 12:28:20 +02:00
Julio Castillo 016a4e08ae fix fast tftest directives 2023-04-21 17:51:20 +02:00
Ludovico Magnocavallo 121bc30e90
fix typo in variable name (#1324) 2023-04-17 07:40:05 +00:00
Ludovico Magnocavallo 9072c3472e
strip org name from deploy key repo (#1328) 2023-04-17 08:59:07 +02:00
Dazbo 56261101c3
Allow longer org pfx plus tenant pfx (#1318)
Thanks!!!
2023-04-12 01:36:37 +02:00
Ludovico Magnocavallo 2cd247bb1f
fix mt resman, add support for mt stage 2s (#1315) 2023-04-11 18:43:39 +09:00
Dazbo 4843d0dfaf
Fixed type in readme for FAST multitenant (#1313) 2023-04-11 04:47:03 +02:00
derailed-dash 6917343a33 Fixed type in readme for FAST stages 2023-04-08 19:35:21 +01:00
Luca Prete a9cba47ce8
Add FAST stage 2-networking-e-nva-bgp (NVA+NCC)
Co-authored-by: Luca Prete <lucaprete@google.com>
Co-authored-by: Simone Bruzzechesse <bruzzechesse@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>
2023-04-04 20:41:04 +02:00
Simone Ruffilli e2b0ef55ab
Update hierarchical_rules.schema.yaml (#1285)
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2023-03-30 06:30:52 +00:00
Geoff Cardamone 11b4fee5b5
Update Provider and Terraform variables section (#1284)
Updating readme so that the provider and terraform variables section is identical to the documentation in the other stages.

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2023-03-28 14:18:44 +00:00
Ludovico Magnocavallo 3d41d01efc
FAST plugin system (#1266)
* plugin folder, gitignore, serverless connector example

* add support to fast plugin variables and outputs to tfdoc

* rename folder, READMEs

* add variable description

* show diffs

* check documentation, use multiple files

* debug check doc

* try a different glob

* debug tfdoc names

* more debug

* and even more debug

* fix gitignore

* fix links

* support extra files in tests

* fix fixture, switch stage 2 peering to new tests

* tfdoc

* Allow globs in extra files

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2023-03-24 12:28:32 +00:00
simonebruzzechesse c4c4688adc
Small fixes to FAST Networking stage with NVAs (#1273)
* fix issue with test-resources and internet connectivity from spokes

* terraform fmt

* removed reference to startup-script in README.md
2023-03-23 09:57:01 +01:00
Ludovico Magnocavallo 5edc931bf9
add missing secret to spoke tunnels (#1265) 2023-03-17 20:52:40 +01:00
Ludovico Magnocavallo 5fb17cb3ac
Widen scope for prod project factory SA to dev (#1263)
* restrict storage role on outputs bucket for stage SAs

* grant prod project factory SA authority over prod and dev org policies

* network stages delegated grants on dev to prod pf SA

* security grants to prod pf SA on dev

* tfdoc

* tests
2023-03-17 16:24:55 +00:00
Ludo 367f4b6670
remove debug output 2023-03-17 15:35:18 +01:00
Anton KOVACH 5d8cbd3c57
Merge branch 'master' into feature/fast-cicd-github-enable-populating-of-data-directory-sample-files-and-update-dependencies 2023-03-15 11:57:21 +01:00
Ludovico Magnocavallo 2794cb6f24
Fix #1139 (#1249) 2023-03-15 11:43:43 +01:00
Anton KOVACH 1355ee4c44 Refactor to avoid explicit dependencies 2023-03-15 10:07:09 +01:00
Ludovico Magnocavallo 892b5b3446
Merge branch 'master' into feature/fast-cicd-github-enable-populating-of-data-directory-sample-files-and-update-dependencies 2023-03-14 19:25:24 +01:00
Natalia Strelkova fe7725e7d0 formatting 2023-03-14 14:48:04 +00:00
Natalia Strelkova 8bf3e11f34
location and storage class added to GKE GCS buckets 2023-03-14 15:43:55 +01:00
Anton KOVACH e344dbc4f4 Add populate_samples attribute 2023-03-13 20:29:50 +01:00
Ludovico Magnocavallo bffd5bc17b
Merge branch 'master' into feature/fast-cicd-github-enable-populating-of-data-directory-sample-files-and-update-dependencies 2023-03-13 16:01:52 +01:00
Ludovico Magnocavallo 112d9a8d9c
Allow using existing boot disk in compute-vm module (#1241)
* allow using existing boot disk in compute-vm module

* allow setting initialize params to null

* tests

* fast

* blueprints
2023-03-12 10:53:59 +01:00
Anton KOVACH 7a53511c9a Enable populating of data directory and .sample files and update dependencies
The Readme.md files reference the data directory and .sample files, but the code did not allow for their populating. This update enables the copying of the data directory and .sample files, with the data directory being populating as a data.sample directory to prevent overwriting any existing data directory.

Additionally, dependencies have been updated by adding the depends_on section to several resources to ensure that the dependencies are in the correct order. This update addresses some states that were not being handled previously.

There is a minor known issue with Pull Request creation in the current state of the code. The Pull Request is only created after the first run has occurred. A fix for this issue is currently being worked on and will be addressed in a separate Pull Request. However, this issue does not affect the main functionality of the code.
2023-03-11 15:27:41 +01:00
Ludovico Magnocavallo 6e70b4216f
add missing attribute to FAST onprem VPN examples (#1237) 2023-03-10 14:58:33 +00:00
Ludovico Magnocavallo be06554bba
Simplify VPN implementation in FAST networking stages (#1228)
* peering stage

* fix link, toc

* vpn stage

* fix link

* nva stage

* fix examples and test

* separate envs stage

* tfdoc
2023-03-09 17:57:44 +01:00
Julio Castillo 38808b37c0 Manage billing.creator role authoritatively in FAST bootstrap.
By default new orgs grant billing.creator and
resourcemanager.projectCreator to the whole domain[1]. This PR makes
FAST remove the former binding during the bootstrap (the latter is
already managed by FAST).

Fixes #1220

[1] https://cloud.google.com/resource-manager/docs/default-access-control
2023-03-07 17:52:00 +01:00
Natalia Strelkova 1f8e4cf1bf
FAQ on installing Fast on a non-empty org 2023-03-07 15:45:38 +01:00
Anton KOVACH 77db9121f9
feat: Add Pull Request support to 0-cicd-github (#1213)
* feat: Add Pull Request support to 0-cicd-github

The cloud-foundation-fabricrepository is continually evolving, and to help keep up with the changes, it would be beneficial to introduce a pull request mechanism to review and approve changes. This feature is 100% backward compatible, and by default, no pull request is created, and changes are committed directly to the main branch. However, an optional variable pull_request_config can be used to configure the title, body, head_ref, and base_ref of the pull request that will be created for the initial population or update of files. To create a pull request, in pull_request_config set the create attribute to true. base_ref defaults to main, and head_ref to the name of the head branch. If the head branch doesn't exist, it will be created from the base_ref branch.

* fix README.md

* fix pull_request_config title
2023-03-06 09:32:36 +01:00
Justin M 4eff309685
Update subnet sample yaml files to use subnet_secondary_ranges (#1203)
* Replaces 'secondary_ip_range:' with 'secondary_ip_ranges:' in samples

* Replaces 'secondary_ip_range:' with 'secondary_ip_ranges:' in tests/

* reverts previous commit- files in tests/ don't need to be changed

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2023-03-05 19:37:23 +01:00
Anton KOVACH e72ddb6a2a
feat: Add option to skip committing unchanged files in 0-cicd-github (#1212)
When running 0-cicd-github multiple times, files that haven't changed are also committed. This change adds an option to skip committing unchanged files to prevent unnecessary commits.

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2023-03-05 19:16:48 +01:00
Ludovico Magnocavallo 8fc9549c58
add support for proxy and psc subnets to module factory (#1211) 2023-03-05 17:08:43 +01:00
Ludovico Magnocavallo 96e829bdf3
Billing exclusion support for FAST mt resman (#1209)
* fix files resource parsing in tfdoc

* fix tfdoc generated output

* billing exclusion support in mt bootstrap
2023-03-03 16:23:36 +00:00
Ludovico Magnocavallo 2217abe5f0
Allow preventing creation of billing IAM roles in FAST, add instructions on delayed billing association (#1207)
* stage 0

* resman and networking stages

* tfdoc

* security stage
2023-03-03 09:24:41 +01:00
Ludovico Magnocavallo 6320c53baf
Allow multiple peer gateways in vpn ha module (#1184)
* allow multiple peer gateways in vpn ha module

* align blueprints

* fast
2023-02-27 10:18:59 +00:00
lcaggio 47855cb682
Merge branch 'master' into lcaggio/dp-projectcreate 2023-02-23 11:54:48 +01:00
Wiktor Niesiobędzki ad0840656b Add documentation about referring modules stored on CSR 2023-02-22 10:02:54 +01:00
lcaggio ac75cbe71a Fix lint. 2023-02-22 01:38:44 +01:00
lcaggio 2108b4650d Fix Tests, rely on iam additive. 2023-02-22 01:36:01 +01:00
Julio Castillo a5e905cb80 Update remaining org policies 2023-02-21 15:49:16 +01:00
Julio Castillo d3bcf625f9 Update yaml org policies 2023-02-21 15:49:16 +01:00
lcaggio 2564c9b06a Fix README 2023-02-20 01:17:08 +01:00
lcaggio 970b8ff255 Fix DP Fast variables. 2023-02-20 01:16:22 +01:00
lcaggio 63a81a9b9b Fix Fast test 2023-02-20 01:12:19 +01:00
lcaggio f4c1fa6c20 Fix tests. 2023-02-20 00:56:32 +01:00
Anton KOVACH 5905903d6e
fix module_prefix (#1164)
Add module_prefix to locals
2023-02-19 18:22:42 +00:00
Anton KOVACH 5cf60cbcf4
Fix Terraform formatting and add module_prefix attribute to modules_config (#1162)
* Fix Terraform formatting and add module/ prefix to path in 0-cicd-github repository population

fix the formatting of Terraform files and adds the module/ prefix to the module path in 0-cicd-github under repository population. Without proper formatting and module path, generated repositories may show formatting mismatches and examples in the README.md file may not run as expected.
The changes include updating the replace function with a new regular expression pattern to correctly apply the git source for modules and updating the each.value.file attribute to include the module/ prefix in the Terraform file path. This ensures that the examples in the README.md file work as intended and that the generated repositories follow best practices for Terraform code.

* revert modules/ prefix change

* Add module_prefix to modules_config

- Add module_prefix to modules_config
- Add example to Readme.md
- use module_prefix variable to specify the path

* fix tfdoc
2023-02-19 18:01:38 +01:00
Ludovico Magnocavallo 36a7347744
FAST stage docs cleanup (#1145)
* top-level and stage 0

* stage 1

* net peering

* networking

* networking

* security

* gke, dp

* checks
2023-02-15 05:42:14 +00:00
Julio Castillo 742b5bab62 Fix tfvars sample for fast bootstrap stage 2023-02-14 11:29:19 +02:00
Ludovico Magnocavallo 8708f490ce
Allow configuring regions from tfvars in FAST networking stages (#1137)
* configurable regions

* vpn, tests

* tfdoc

* separate envs

* nva

* test resources

* add new custom role for tenant network service accounts

* allow setting firewall policy name in networking stages

* fix stage links script

* set custom role to tenant networking service account

* rename tenant stage 1 provider files

* remove extra file

* fix peering and vpn

* tfdoc

* fix variable order

* tests
2023-02-08 09:59:43 +01:00
simonebruzzechesse 779c635682
Merged old bgp_peer_config parameter into bgp_peer aligning with newer version of tunnels variable available in the net-vpn-ha module (#1133)
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2023-02-07 22:58:28 +00:00
Ludovico Magnocavallo 2471e25c2c
post PR message on init or validate failure (#1135) 2023-02-07 10:04:03 +01:00
Ludovico Magnocavallo 9b8de3e415
fix stage links, fix stage 1 output file names (#1134) 2023-02-06 20:51:26 +01:00
Natalia Strelkova 803c9c3163 Merge branch 'master' into fast-networking-nva-no-peering-files 2023-02-04 16:12:35 +01:00
Ludovico Magnocavallo 5453c585e0
FAST multitenant bootstrap and resource management, rename org-level FAST stages (#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 <jccb@google.com>
2023-02-04 15:00:45 +01:00
Natalia Strelkova 2958063625
Remove info about non-existing vpc-peering-*.tf files 2023-02-03 15:39:00 +01:00
Ludovico Magnocavallo 7b96ed429c
add missing role for initial user (#1118) 2023-01-28 08:41:22 +00:00
Ludo 83a0916bff
add missing newline 2023-01-28 09:27:31 +01:00
Ludovico Magnocavallo c1d3736b06
fix destroy in stage 1 outputs (#1099) 2023-01-19 09:35:40 +00:00
lcaggio a5f4e0883d Fix FAST documentation. 2023-01-11 08:56:58 +01:00
lcaggio 488b6d4dc0 Remove plg project, composer 2 2023-01-11 00:31:52 +01:00
Roberto Jung Drebes e234aa68b4 fix restricted services not being added to the perimeter configurations 2023-01-06 13:07:33 +01:00
agutta 7c3768d338
Update FAQ.md 2022-12-29 09:37:17 -06:00
agutta 5120df1615
Adding new section for Authentication issues
Common error when we have multiple identities
2022-12-28 12:06:13 -06:00
agutta a128333223
Adding new file FAQ and an image
Adding a new file to capture and address frequently asked questions.
2022-12-19 16:07:41 -06:00
Julio Castillo 4f7cb39a06 Simplify readme discovery 2022-12-18 14:00:20 +01:00
agutta e3ac488827
Updating a small typo
Updating "THe" to "The"
2022-12-16 09:30:47 -06:00
Kartheek c297d1061f
FAST: add instructions for billing export to stage 0 README (#1051)
* Readme updated with Billing data export API Limitations 

Because of the billing API limitations, Though BigQuery dataset will be created within billing project, it will be empty.  BigQuery export have to be manually enabled in order for the data to be populated within the dataset. Since the Readme doesn't capture this, a note and reference link was added.

* fix typos

Co-authored-by: Ludovico Magnocavallo <ludo@qix.it>
2022-12-15 09:53:56 +01:00
Natalia Strelkova 77736c13e3
Merge branch 'master' into nstrelkova-fast-fix-ew3 2022-12-07 12:45:07 +01:00
Agustin Ramirez 324311315c
Update README.md (#1032)
enviroments for vpc_sc_perimeters sample code

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2022-12-05 16:02:00 +01:00
Julio Castillo fa63e9d5d0 Remove optional stuff 2022-11-30 16:00:53 +01:00
Julio Castillo ef4a4b02af Fix linting 2022-11-30 11:36:58 +01:00
Julio Castillo 798d3a4136 Update VPN-HA module to tf1.3 (wip) 2022-11-30 10:52:24 +01:00
Natalia Strelkova 4654e5af39 README regenerated 2022-11-29 09:21:24 +00:00
Natalia Strelkova a68171947f europe-west4 everywhere (was west3 in some places) 2022-11-29 09:16:56 +00:00
Ludo 0a529c93a1 remove extra symlink 2022-11-25 17:33:54 +01:00
Julio Castillo 612d7283e8 Enforce nonempty descriptions ending in a colon 2022-11-24 18:56:01 +01:00
Natalia Strelkova 3b3c426633
00-cicd stage got moved to extras/
Apparently we forgot to change this particular line when moving 00-cicd to the extras/ folder
2022-11-23 15:53:18 +01:00