Commit Graph

523 Commits

Author SHA1 Message Date
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 016a4e08ae fix fast tftest directives 2023-04-21 17:51:20 +02:00
Dazbo 56261101c3
Allow longer org pfx plus tenant pfx (#1318)
Thanks!!!
2023-04-12 01:36:37 +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
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
Ludovico Magnocavallo 2794cb6f24
Fix #1139 (#1249) 2023-03-15 11:43:43 +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
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
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
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
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
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
Julio Castillo 826ff14ef9 Sort variables and outputs 2022-11-21 13:17:55 +01:00
Ludovico Magnocavallo ad483e34c8
FAST: fixes to GitHub workflow and 02/net outputs (#976)
* fix gh workflow

* short PR message

* streamline workflow

* fix net outputs
2022-11-15 08:48:32 +01:00
Julio Castillo c83a7de076 Remove as_logging_destination 2022-11-12 19:24:41 +01:00
Julio Castillo 8fe19ad7c2 Rename bigquery_use_partitioned_table 2022-11-12 11:30:34 +01:00
Julio Castillo 486d398c7d Update logging sink to tf1.3 in resman modules 2022-11-11 19:22:05 +01:00
Ludovico Magnocavallo eb27635221
FAST: improve GitHub workflow, stage 01 output fixes (#966)
* fix outputs on null output files variable

* improve GH workflow

* bring back apply status

* fix heading level

* add missing try, update IAM md files
2022-11-11 07:55:57 +00:00
Ludovico Magnocavallo a9c47681d8
Refactor vps-sc module for Terraform 1.3 (#963)
* wip

* example tests

* module tests

* streamline example

* fast

* tfdoc

* use collections.Counter in tests
2022-11-10 19:34:45 +01:00
Ludovico Magnocavallo dff7b69250
FAST: bootstrap and extra stage CI/CD improvements and fixes (#956)
* add clone commands output

* always create secret key for repos, fix module source

* optional modules ref

* tfdoc

* create secrets in the right repositories

* add publick key to modules repository

* bump Terraform version in CI templates

* add template to populated files

* tfdoc

* do not error out writing ci/cd workflows when output files are disabled

* update README

* fix apply file outputs when outputs_location is changed to null
2022-11-08 09:38:15 +01:00
Ludovico Magnocavallo fae5654e33
Refactor VPC firewall module for Terraform 1.3 (#949)
* module and module tests/examples

* align blueprints and fast

* fix null ranges

* make ports optional

* tfdoc

* make rules optional defaulting to all protocols

* review comments

* last round of comments

* invert precedence of template variables

* add option to disable all default rules

* add option to disable all default rules

* split egress/ingress

* tests

* fix tests
2022-11-04 13:56:07 +01:00
Julio Castillo 85378ea0fb
Update README.md 2022-11-03 22:43:22 +01:00
Julio Castillo 453a55c2d0
Merge branch 'master' into patch-2 2022-11-03 22:39:44 +01:00
Kartheek 49b5b97afe
Merge branch 'master' into patch-2 2022-11-03 09:16:32 -07:00
Julio Castillo dc81b26a9b Use display_name instead of description for FAST service accounts
Fixes #944
2022-11-03 16:23:48 +01:00
Julio Castillo 8a20a14a0d Move policy to serverless.yaml 2022-11-03 14:50:53 +01:00
Julio Castillo 747ebc6f39 Use org policy factory for resman stage 2022-11-03 14:48:21 +01:00
Kartheek c7b70e42d0
Update README.md
Added a note about Project resource name to be unique and also to check if project was deleted recently.
2022-11-02 14:37:49 -07:00
Ludovico Magnocavallo 0563260678
Refactor ILB module for Terraform 1.3 (#941)
* wip

* wip

* wip

* backport health check to compute-mig

* align blueprints and fast

* fix blueprints

* tfdoc
2022-11-02 18:05:20 +01:00
Ludovico Magnocavallo 559753fab5
enable org policy API, fix run.allowedIngress value (#935) 2022-11-01 09:52:03 +01:00
Ludovico Magnocavallo a30c186f1f
Refactor compute-mig module for Terraform 1.3 (#931)
* wip: autoscaler

* wip: fix autoscaler

* wip: health check

* wip: untested

* wip: tests and examples missing

* wip: examples

* wip: consumers

* blueprint tests

* fast
2022-11-01 09:38:59 +01:00
Julio Castillo 410fe1c73a Add pf example with deny all org policy 2022-10-28 17:49:44 +02:00
Julio Castillo c714952f39 Fix tests 2022-10-28 17:49:44 +02:00
Julio Castillo d80a43eabb Fix FAST org policies 2022-10-28 17:49:44 +02:00
apichick d9ccf04221
Added managed_prometheus to features (#906)
* Added managed_prometheus monitoring_config

* fix module

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2022-10-25 21:18:50 +00:00
Simone Ruffilli 7b2a82a7d6
PGA DNS records (#911)
Additional PGA DNS records
2022-10-25 14:28:28 +02:00
Julio Castillo 192edf2b75 Remove redundant ttls 2022-10-25 12:11:07 +02:00
Ludovico Magnocavallo 350a7dbf83
update README 2022-10-23 19:56:08 +02:00
Ludovico Magnocavallo fc7bf40e69
Initial replacement for CI/CD stage (#903)
* github extra stage

* remove original cicd stage

* allow setting commit attributes via variabes

* remove reference to deleted stage

* optional repo creation, documentation
2022-10-23 19:52:45 +02:00
Michael Malet fe6fd3d7ec feat(project-factory): allow folder_id to be defined in defaults_file 2022-10-20 15:52:32 +01:00
Julio Castillo 2333bf58f1
Update README.md (#898)
* Update README.md

* Update terraform.tfvars.sample

* Update README.md

* Update README.md
2022-10-19 17:15:36 +02:00
Simone Ruffilli 1c24e921b3
Added 02-networking-separate-envs to stages doc. 2022-10-14 16:00:30 +02:00
Ludovico Magnocavallo 4fa1dc431d
Refactor net-vpc module for Terraform 1.3 (#880)
* module tests pass

* doc examples

* refactor blueprints

* fast stages

* fix comment typo

* fix module factory test
2022-10-14 11:02:33 +02:00
Ludovico Magnocavallo e8056577ce
Refactor GKE nodepool and blueprints (#875)
* first shot, untested

* example tests working

* module tests

* work on gke blueprints

* multitenant fleet doc examples

* fix gke hub doc examples

* blueprint tests

* move master range to vpc config

* fast stage 3 gke test

* tfdoc

* bump provider versions

* and bump provider again to latest
2022-10-12 12:59:36 +02:00
Simone Ruffilli 24c3ffe66b
FAST: Separate network environment (#566) 2022-10-10 11:50:07 +02:00
Natalia Strelkova 5dbc61cb8c temporary revert to Terraform 1.3.1 to support Cloud Shell 2022-10-10 09:19:55 +00:00