Commit Graph

45 Commits

Author SHA1 Message Date
apichick 0f91a964da Added back sink iam flag as module users might not have access to the sink destination and the role might need to be granted somewhere else 2023-11-07 08:11:23 +01: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
Julio Castillo 04721a35ef Allow single hfw policy association in folder and organization modules 2023-08-28 16:00:48 +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
Ludovico Magnocavallo def2f476d1
Add support for conditions to `iam_members` module variables (#1594)
* project

* data-catalog-policy-tag

* dataproc

* folder

* iam-service-account

* kms

* net-vpc

* organization

* source-repository

* dataplex-datascan
2023-08-15 16:28:23 +02:00
Ludovico Magnocavallo adf2621727
Add new `iam_members` variable to IAM additive module interfaces (#1589)
* resource management modules

* data catalog policy

* dataproc

* service account

* kms

* net-vpc

* source repository

* dataplex datascan

* service account module variable order
2023-08-14 09:54:50 +00: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 551dc581e8
Implement proper support for data access logs in resource manager modules (#1497)
* organization module

* rename iam_bindings_authoritative to iam_policy, fix tests

* add support for data access logs and iam policy to folder module

* test inventories

* add support for data access logs and iam policy to project module
2023-07-10 08:08:02 +00:00
Alejandro Leal 15ae95df90 Fixing typos
- modules/organization/variables.tf
- modules/organization/README.md
- blueprints/data-solutions/shielded-folder/main.tf
2023-06-23 00:14:02 -04:00
Julio Castillo 6b767c9035 Simplify org policies data model in resman modules. 2023-02-21 15:49:16 +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
Julio Castillo d41dc678e6 Fix organization module 2022-11-21 13:17:55 +01:00
Luca Prete 4124ef41fc
Add network tags support to the organization module (#979) 2022-11-18 15:56:28 +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
Aleksandr Averbukh 3562c52520 Add support for org policy custom constraints 2022-11-08 09:34:38 +01:00
Julio Castillo 4b278a1533 Update variable description 2022-11-03 12:35:50 +01:00
Julio Castillo 3e18575fad Add factory support for new org policies 2022-11-03 11:41:53 +01:00
Julio Castillo c714952f39 Fix tests 2022-10-28 17:49:44 +02:00
Julio Castillo b23d07b0c6 Update project/folder/module to use new org policies API and tf1.3 optionals. 2022-10-28 17:49:44 +02:00
Ludovico Magnocavallo 0b5ed8b7ef
Add support for resource management tags and tag bindings (#552)
* organization module

* folder module

* project module

* fix project binding

* use id instead of name for references

* kms module

* compute-vm

* fix compute-vm
2022-02-20 11:14:18 +01:00
Simone Ruffilli abb6b50a46
Add periods at the end of each description field where missing (#478) 2022-01-31 10:45:34 +01:00
Julio Castillo eb0ab2c1ec Split organization module in files, add nullables 2022-01-29 10:55:47 +01:00
apichick 6dbb7fc6b2 removed boolean flag used to authorize the sink writer identity on the destination 2022-01-27 17:44:27 +01:00
Simone Ruffilli ee25965c89
Copyright bump (#410) 2022-01-01 15:52:31 +01:00
Julio Castillo f78902aee8 Update hierarchical firewall resource
This replaces all the `google_compute_organization_security_*`
resources with the newer `google_compute_firewall_*` resources.
2021-12-31 13:06:35 +01:00
Ludovico Magnocavallo 174de3a087
Organization module refactor, in-module firewall policy factory for organization and folder (#385)
* move iam and logging to separate files, minimal refactoring

* update README

* fix example

* factory

* tfdoc

* boilerplate

* remove data_folder variable

* tfdoc

* fix default factory name

* add firewall policy to folder module

* add factory example
2021-12-13 08:41:02 +01:00
lcaggio 546385d3ee
Add support for partitioned tables on Organization sinks (#380)
* Add support for partioned tables on Organization sinks

* Update changelog

* Fix lint

* Fix lint

* Use simple bool instead of block

* fix README

* Fix Readme

* Rename variable

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2021-12-09 09:55:47 +01:00
Julio Castillo 1d13e3e624 Add more validations to linter
- Ensure all variables and outputs are sorted
- Ensure all variables and outputs have a description
- Add data-solutions/data-platform-foundations to linter

Fix all modules to follow these new conventions.
2021-10-08 18:26:04 +02:00
Ludovico Magnocavallo f8413cc98e
Add support for group-based IAM to resource management modules (#229)
* group_iam support for organization

* group_iam support for folder

* fix typo in variable description

* add group_iam to project module

* update project module README
2021-04-11 14:48:16 +02:00
Julio Castillo ad68fc4dfa Support for cloud logging buckets 2021-03-03 14:23:59 +01:00
Julio Castillo 2d9d81e061 Add support for essential contacts 2021-02-24 18:34:17 +01:00
Julio Castillo 1e11c670f5 Update copyright to 2021 2021-02-15 09:38:10 +01:00
Roberto Jung Drebes 91febe4cd1 Authoritative IAM for organization 2020-12-09 22:58:17 +00:00
Julio Castillo c6691a6140 Add include_children option folder and organization sinks 2020-12-06 17:56:27 +01:00
Julio Castillo 1af70c748c Rename "grant" to "iam" in sink variables 2020-12-05 12:39:06 +01:00
Julio Castillo 2c0f949f07
Logging sinks and exclusions (#178)
* Add sink support to folder module

* Make folder creation optional.

* Add logging sinks to the organization module

* Add logging sink support to project module

* Update readme
2020-12-05 08:31:35 +01:00
Julio Castillo f56c36e2d0 Rename org_id variable to organization_id in organization module 2020-11-25 18:36:19 +01:00
Julio Castillo 254efdd799 Hierarchical firewall support for organizations 2020-11-23 19:01:02 +01:00
Ludovico Magnocavallo 6610b79b6c
Revert iam_additive behaviour (#160)
* revert iam_additive format, add iam_additive_members

* revert iam_additive format, add iam_additive_members

* update CHANGELOG
2020-11-09 11:29:08 +01:00
Ludovico Magnocavallo d2c84de8ff use new variable names in organization module 2020-11-04 15:44:28 +01:00
Julio Castillo 85fda5b1fe Remove iam_roles from service accounts, folder and organization modules 2020-10-21 09:37:05 +02:00
vanessabodard-voi 5af022a3ee
refactor IAM additive bindings variables (#103)
* Invert the list for role/member mapping so that member is the key

* Add iam_additive_bindings to replace iam_additive_members and iam_additive_roles, change test suite accordingly

* attribute 'mode' added as it would error without

* Update Readme to reflect the new variable iam_additive_bindings

* test branch access

* iam_additive_bindings to replace iam_additive roles and iam_additive_members

* update foundation samples to new additive bindings format

* set bq dataset options in foundation environments to allow destroying

* trap exceptions raised during destroy in project module

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2020-07-02 08:28:26 +02:00
Ludovico Magnocavallo 74e0035f4a
Organization module (#57)
* modules/org: first shot

* modules/org: README

* update changelog
2020-04-07 18:47:07 +02:00