Commit Graph

66 Commits

Author SHA1 Message Date
Ludovico Magnocavallo f75c0021a1
fix #673 (#674) 2022-06-10 10:51:26 +02:00
Ludovico Magnocavallo 44ae2671b0
CI/CD support for Source Repository and Cloud Build (#669)
* add id to outputs

* initial cloud build implementation for stage 0

* comments

* stage 0

* stage 1, untested

* add support for IAM and CB triggers to source repository module

* refactor stage 0 to use sourcerepo module

* refactor stage 1 to use sourcerepo module

* file descriptions

* fix gitlab pipeline
2022-06-08 11:34:08 +02:00
Alexander Meissner 7b30aa2c12
Added "gitlab" type to 01-resman Stage 2022-04-19 11:09:33 +02:00
Ludovico Magnocavallo 73a9136dc6
disable some org policies (#631) 2022-04-15 08:10:42 +02:00
Ludovico Magnocavallo eec0fd2fdf
FAST: allow changing tag names from variables in resman (#628) 2022-04-13 10:22:33 +02:00
Julio Castillo 2644627837 Remove broken link and ignore globals in fast stages 2022-04-12 21:33:03 +02:00
Ludovico Magnocavallo 725f7effce
Initial MVP for CI/CD (#608)
* preliminary support for wif in stage 0

* IAM wif role

* IAM wif role TODO

* add support for external SA IAM to SA module

* add name output to SA module

* separate cicd SA

* tfdoc

* GITLAB principal (untested)

* make GCS name output static

* outputs bucket

* fix stage 1 test

* tweak outputs

* tfdoc

* move wif_pool to automation variable

* add support for top-level and repository providers

* add missing boilerplate

* fix branchless principal

* initial workflow

* symlink provider template in stages

* remove service accounts from stage 0 cicd tfvars

* add cicd interface variable to resman stage

* fix cicd variable in resman stage

* better condition on outputs_location

* fix last change

* change outputs_location type

* revert outputs_location change

* split outputs in stage 0

* update ci/cd temporary notes

* rename additive IAM resource in SA module

* split outputs in stage 1

* remove unused locals

* fix stage 1 tests

* tfdoc

* Upload action files to outputs_bucket

* Fix tests and README

* rename template, streamline outputs

* local templates and gcs output for all stage 2

* add workflows to local output files

* Use lowercase WIF providers everywhere

* Bring back suffix for workflow files

* Remove unused files

* Update READMEs

* preliminary CI/CD implementation for stage 1

* fix stage 1

* stage 1 cicd

* tfdoc

* fix tests

* readme and links for cicd and wif

* refactor wif providers

* refactor cicd for stage 1

* fix stage 1

* wif org policies

* split identity provider configuration from cicd

* add type attribute to cicd repositories

* valid cicd repositories have a workflow template

* refactor stage 01

* fix stage 01 tests

* minimal CI/CD documentation

* better check_links error reporting

* fix links

* Added Gitlab specific configurations

Set the default issuer_uri for Gitlab. Added allowed audiences to OIDC configuration.

* Fixed TF formatting in identity providers.

* Changing identity provider audience to null

Changing identity provider audience to default to null.

* add instructions for renaming workflows

* address Julio's comments

Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: alexmeissner <alexmeissner@google.com>
2022-04-12 08:17:27 +02:00
Ludovico Magnocavallo 9bb2f91458
Fix a few import errors in FAST (#620)
* fix import errors in stage 0

* fix import errors in stage 1
2022-04-12 07:35:31 +02:00
Julio Castillo 03c871097c Remove moved blocks 2022-03-18 10:44:44 +01:00
Julio Castillo 31bf9b98d1 Swap xpnAdmin with custom xpnServiceAdmin for service projects 2022-02-25 12:19:10 +01:00
Simone Ruffilli 7ca1e6af5a FAST: Networking README.md fixes 2022-02-24 11:48:56 +01:00
Simone Ruffilli 1af71244f3 FAST: Resman README.md fixes 2022-02-24 11:28:13 +01:00
Ludovico Magnocavallo 7d8299b837 fix tag environment binding names in fast 2022-02-21 13:28:36 +01:00
Ludovico Magnocavallo 474bcbdd0e
Use tags and tag-based IAM conditions in FAST (#553)
* organization module

* folder module

* project module

* fix project binding

* environment tags

* use id instead of name for references

* environment bindings

* conditional org policy admin binding via tags

* rename pf service accounts and buckets

* update IAM docs

* kms module

* compute-vm

* fix compute-vm

* tfdoc
2022-02-20 11:26:30 +01:00
Ludovico Magnocavallo b9804d895b re-add org policy admin role 2022-02-18 14:39:33 +01:00
Ludovico Magnocavallo 21a901c1dc assign net delegated grants by env 2022-02-18 08:38:36 +01:00
Ludovico Magnocavallo 6f3aa4920a re-remove policy admin role from dp SAs 2022-02-18 07:29:24 +01:00
Lorenzo Caggioni 04f054478d Fix poliscy admin role 2022-02-18 00:34:51 +01:00
Julio Castillo 73c2233b9b Small fixes to DP 2022-02-16 18:52:17 +01:00
Ludovico Magnocavallo c63ddb96f9 resman tfdoc 2022-02-16 14:15:58 +01:00
Ludovico Magnocavallo c5fa5d62e4 fix remaining issues, align variables 2022-02-16 14:12:39 +01:00
Ludovico Magnocavallo 728f6485ae remove unneeded permissions in resman 2022-02-16 12:51:12 +01:00
Ludovico Magnocavallo 9c736ea337
Merge branch 'master' into lcaggioni/fast-data-platform 2022-02-16 11:47:41 +00:00
Julio Castillo 49f36157d5 Fix typo in stage1 outputs 2022-02-16 10:57:54 +01:00
Ludovico Magnocavallo 4b73cc4de6 tfdoc, stages README 2022-02-16 10:14:51 +01:00
lcaggio 8e8378fb28
Merge branch 'master' into lcaggioni/fast-data-platform 2022-02-16 09:56:42 +01:00
Julio Castillo 0544456462 Use local for tfvar outputs 2022-02-16 09:07:07 +01:00
Ludovico Magnocavallo 9015abfc80 stage 01 docs 2022-02-16 08:57:45 +01:00
Ludovico Magnocavallo 9c9312c4b8 tfdoc 2022-02-16 07:53:41 +01:00
Ludovico Magnocavallo 5c46d351d5 02-networking-vpn 2022-02-16 07:52:20 +01:00
Ludovico Magnocavallo 7e9843d445 tfdoc for real 2022-02-16 00:48:13 +01:00
Ludovico Magnocavallo 8c684124da Merge branch 'fast/var-contracts' of github.com:GoogleCloudPlatform/cloud-foundation-fabric into fast/var-contracts 2022-02-16 00:44:24 +01:00
Ludovico Magnocavallo b50deb68a7 tfdoc 2022-02-16 00:44:14 +01:00
Ludovico Magnocavallo d3c95e5784
Merge branch 'master' into fast/var-contracts 2022-02-15 23:42:30 +00:00
Ludovico Magnocavallo cd52f7c34c stage 01 2022-02-16 00:35:50 +01:00
Lorenzo Caggioni 51026e6d0f Fix xpnAdmin 2022-02-15 21:36:11 +01:00
Simone Ruffilli 1d187ddd23
FAST: PF example implementation changed to dev. Tests updated (#544)
* FAST: PF example implementation changed to dev. Tests updated
* FAST: simplified teams folder names
2022-02-15 12:22:08 +01:00
Lorenzo Caggioni 8906252528 Fix 2022-02-14 23:54:53 +01:00
Lorenzo Caggioni 7252e7ec01 Fix review comments. 2022-02-14 16:54:42 +01:00
Ludovico Magnocavallo d8f4f37c48 tfdoc 2022-02-14 13:57:07 +01:00
Lorenzo Caggioni 026cea4554 Align with master branch 2022-02-14 10:27:03 +01:00
lcaggio f98d690516
Merge branch 'master' into lcaggioni/fast-data-platform 2022-02-14 10:12:35 +01:00
Ludovico Magnocavallo 00f24698d0 refactor DRS org policy 2022-02-13 10:40:23 +01:00
Ludovico Magnocavallo 2d27d20f1a update IAM docs 2022-02-12 15:47:31 +01:00
Ludovico Magnocavallo fbf4d29c88
Fix FAST names (#539)
* name checker, initial names fix

* fix name parser

* sdbx -> sbox

* explicit names

* show total name length

* check names in linting action

* validate prefix length

* fix typo
2022-02-12 13:29:22 +01:00
lcaggio bf64a3dfda
Add Data Platform to FAST (#510)
* Import Fast from dev repository.
>
>
Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>

* Import Fast from dev repository.
>
>
Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>

* merge tools changes

* Import Fast from dev repository.
>
>
Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>

* add bolierplate to validate_schema

Co-authored-by: Julio Castillo <juliocc@users.noreply.github.com>

* stage 02-security

* Import Fast from dev repository.

Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>

* Copy FAST top level README

* Copy FAST top level README

* TODO list

* TODO list

* fix linting action to account for fast

* remove providers file

* add missing boilerplate

* update factory README

* align examples tfdoc

* fast readmes tfdoc

* disable markdown link check

* really disable markdown link check

* update TODO

* switch to local module refs in stage0

* replace module refs in 02-sec

* Import Fast from dev repository.
>
>
Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>

* merge tools changes

* Import Fast from dev repository.
>
>
Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>

* add bolierplate to validate_schema

Co-authored-by: Julio Castillo <juliocc@users.noreply.github.com>

* Import Fast from dev repository.
>
>
Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>

* stage 02-security

* Import Fast from dev repository.

Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>

* Copy FAST top level README

* Copy FAST top level README

* TODO list

* TODO list

* fix linting action to account for fast

* remove providers file

* add missing boilerplate

* update factory README

* align examples tfdoc

* fast readmes tfdoc

* disable markdown link check

* really disable markdown link check

* update TODO

* switch to local module refs in stage0

* replace module refs in 02-sec

* Move first draft to fast branch

* Fix roles and variables. Add e2e DAG example!

* Fix example

* Fix KMS

* First draft: README

* Update README

* Add DLP, update README

* Update Readme

* README

* Add todos

* Merge master

* Merge master

* Merge master

* Fix and test KMS, Fix and test existing prj (it works also with single prj), Update README

* Fix READM and Demo

* add  on TF files

* Remove block comments

* simplify service_encryption_keys logic

* fix README

* Fix TODOs

* fix tfdoc description

* fix demo README

* fix sample files

* rename tf files

* Fix outputs file name, fix README, remove dependeces on composer resource

* Add test.

* Fix README.

* Initial README update

* README review

* Fix issues & readme

* Fix README

* Fix README

* Fix test error

* Fix test error

* Add datacatalog

* Fix test, for real? :-)

* fix readme

* support policy_boolean

* split Cloud NAT flag

* Fix README.

* Fix Shared VPC, first try :-)

* Fix tests and resource name

* fix tests

* fix tests

* README refactor

* Fix secondary range logic

* First commit

* Replace existing data platform

* Fix secondary range logic

* Fix README

* Replace DP example tests with the new one.

* Fix test module location.

* Fix test module location, for real.

* Support DataPlatform project in VPC-SC

* Fix VPC-SC

* Add TODO, VPC-SC

* Possible improvement to handle VPC-SC perimeter projects with folder as variable

* Add TODO

* Fix module path

* Initial fix for KMS

* Add PubSub encryption

* Fix secondary range logic

* First commit

* Support DataPlatform project in VPC-SC

* Fix VPC-SC

* Add TODO, VPC-SC

* Possible improvement to handle VPC-SC perimeter projects with folder as variable

* Add TODO

* Fix module path

* Initial fix for KMS

* Update READMEs

* Update README

* Fix composer roles and README.

* Fix test.

* Fixes.

* Add DLP documentation link.

* Temp commit with errors

* Refactor variables

* Fix secondary range logic

* First commit

* Support DataPlatform project in VPC-SC

* Fix VPC-SC

* Add TODO, VPC-SC

* Possible improvement to handle VPC-SC perimeter projects with folder as variable

* Add TODO

* Fix module path

* Initial fix for KMS

* rebase

* rebase

* rebase

* Rebase

* rebase

* Update READMEs

* Fixes.

* Fix new variables

* Fix misconfiguration and tests.

* Fix secondary range logic

* First commit

* Support DataPlatform project in VPC-SC

* Fix VPC-SC

* Add TODO, VPC-SC

* Possible improvement to handle VPC-SC perimeter projects with folder as variable

* Add TODO

* Fix module path

* Initial fix for KMS

* rebase

* rebase

* rebase

* Rebase

* rebase

* Update READMEs

* Fixes.

* Rebase - Fix secondary range logic

* Rebase - First commit

* Support DataPlatform project in VPC-SC

* Fix VPC-SC

* Possible improvement to handle VPC-SC perimeter projects with folder as variable

* Initial fix for KMS

* Fix secondary range logic

* First commit

* Support DataPlatform project in VPC-SC

* Fix VPC-SC

* Fix module path

* Initial fix for KMS

* Update READMEs

* Fixes.

* Fix new variables

* Revert VPC-SC logic

* Fix variable typos

* README fixes

* Fix Project Name logic

* Fix Linting

* READEME

* update READEME

* update READEME

* update README

* mandatory project creation, refactor

* formatting

* add TODO for service accounts descriptive name

* use project module to assign shared vpc roles

* Fix shared-vpc-project module

* Fix vpc name and tests

* README

* update to newer version

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Simone Ruffilli <sruffilli@google.com>
Co-authored-by: Julio Castillo <juliocc@users.noreply.github.com>
Co-authored-by: Julio Castillo <jccb@google.com>
2022-02-11 17:32:16 +01:00
Julio Castillo 9076c2f2b0 Fix external billing org 2022-02-11 17:10:44 +01:00
Julio Castillo 547ded37b2 Update networking folder names to match teams folder 2022-02-11 08:29:46 +01:00
eeaton a18bea7f2c
Add Zonal DNS Only org policy (#527)
This is a safe and sane org policy that should be recommended for most customers to prevent them from accidentally configuring internal dns in a way that has reduced availability
https://cloud.google.com/compute/docs/internal-dns#enforce_dns_by_policy
2022-02-09 12:21:43 +01:00
Simone Ruffilli 40142572f8
Update variables.tf example for team_folders 2022-02-07 11:15:13 +01:00