Commit Graph

101 Commits

Author SHA1 Message Date
Ludovico Magnocavallo
177a9ed8bf fix names in project factory automation resources (#3046) 2025-04-18 15:42:45 +02:00
Ludo
4821ac2c07 Merge remote-tracking branch 'origin/master' into fast-dev 2025-04-16 12:13:35 +02:00
Wiktor Niesiobędzki
2d54911415 Use path as keys in project factory 2025-04-11 22:50:50 +02:00
Wiktor Niesiobędzki
086fe2c914 Use path as keys in project factory 2025-04-11 22:30:39 +02:00
Ludovico Magnocavallo
bdc97a54c7 Properly support org policy tags in resman/project factory (#3014)
* allow setting IAM for org policy tags, add org policy tags to pf context

* allow tag id substitution

* tfdoc
2025-04-08 14:24:46 +02:00
Ludo
7e5c319aeb fix merge 2025-04-07 08:49:28 +02:00
Ludo
5612040209 Merge remote-tracking branch 'origin/master' into fast-dev 2025-04-07 08:47:00 +02:00
Wiktor Niesiobędzki
6d2173aada Ensure vpc_sc has correct type for overrides 2025-04-06 20:17:22 +02:00
Wiktor Niesiobędzki
d63a425b62 Allow same filename in different directories
As long, as they do override default project name using `name`.
2025-04-06 20:17:22 +02:00
Wiktor Niesiobędzki
4769dc3dd7 Allow null parent and prefix 2025-04-06 20:17:22 +02:00
Wiktor Niesiobędzki
46f731fee0 Use null values for data_overrides 2025-04-06 20:17:22 +02:00
Wiktor Niesiobędzki
ce05505a2c Add type information to project_config attributes 2025-04-06 20:17:22 +02:00
Wiktor Niesiobędzki
6d54ff9a45 Use the same keys in output as in input for projects 2025-04-06 20:17:22 +02:00
Wiktor Niesiobędzki
1c87246583 Use factory-projects-object for project object normalization 2025-04-06 20:17:22 +02:00
Ludovico Magnocavallo
69188fa9d9 Implement support for VPC-SC perimeter membership from project factory (#3007)
* support project factory-level vpc-sc perimeter interpolation

* fix ro role

* add support for IAM on service accounts

* fix typo
2025-04-04 11:45:22 +00:00
Wiktor Niesiobędzki
925788b54a Merge remote-tracking branch 'upstream/master' into wiktorn-master-to-fast-dev 2025-03-31 07:49:04 +00:00
Wiktor Niesiobędzki
3e84236345 Project object c14n in separte file
Create separate file for canonicalization of project factory objects and
introduce duplicate-diff lint checker.
2025-03-30 10:39:08 +02:00
Ludo
0facab6724 Merge remote-tracking branch 'origin/master' into fast-dev 2025-03-28 09:38:22 +01:00
Ludovico Magnocavallo
717f89dc00 Rationalize project factory context interpolations for automation service accounts (#2959)
* use different keys for automation service accounts

* inventory

* improve error handling on automation buckets
2025-03-16 15:40:47 +00:00
Wiktor Niesiobędzki
b51e714237 Use full type definition in v.shared_vpc_service_config and vpc_sc merges 2025-03-10 15:34:13 +01:00
Julio Castillo
50265f2169 Expose tags in project factory (#2929)
* Expose tags in project factory

* Update readme

* Remove default and update schema

* Fix tests
2025-02-24 23:12:17 +01:00
Wiktor Niesiobędzki
2427b2e0fd Add error messages for failing interpolations 2025-02-21 09:20:44 +01:00
Ludovico Magnocavallo
5312767be4 Add provider output files to project factory stage, single automation bucket in module (#2914)
* single automation bucket, provider output files for project factory

* tfdoc

* fix outputs
2025-02-19 17:45:56 +00:00
Wiktor Niesiobędzki
0a1b6c6e0f Add ability to refer to other project service accounts in Project Factory 2025-02-19 16:47:15 +01:00
Ludovico Magnocavallo
1a4b298cc9 Project factory additions, project module reuse implementation (#2899)
* add support for buckets

* add project-level interpolation for own SAs

* docs

* project reuse changes

* fix example

* tfdoc

* update check documentation tool

* fast tests

* blueprints

* typo
2025-02-15 20:37:45 +01:00
Ludovico Magnocavallo
87383a1569 FAST project templates example (#2897)
* wip

* project factory providers

* working example

* copyright, tfdoc

* rewording

* rewording

* tfdoc

* tfdoc

* tfdoc again

* fix tests

* tests
2025-02-14 19:14:27 +00:00
Julio Castillo
c59470a4fb Update logging_data_access type (#2816)
* Update logging_data_access variables to use types

* Fix dependencies

* fix schema

* Add missing comma

* Fix try
2025-01-14 16:00:35 +00:00
Joshua Wright
325a997d79 Add Alerts, Logging, Channels Factories (#2758)
* WIP: Logging Alerts Factory

* Implement Logging Alerts on Remaining Modules

* Documentation & FMT

* Convert To Multiple Factories

* Correct Project

* Update Documentation

* Update modules/project/alerts-factory.tf

Co-authored-by: Julio Castillo <jccb@google.com>

* Update fast/stages/0-bootstrap/data/logging-metrics/compliance.yaml

Co-authored-by: Julio Castillo <jccb@google.com>

* Update Tests, Resources

* tests

* Fix Tests

* Fix formatting

* Reformat metric filters

* Formatting, reordering, and small fixes

* Bring back alerts and metrics documentation

* Revert change bootstrap outputs.tf

* Fix project notification channel vars and factories

* Fix vars and factory for logging alerts

* Complete alert variable and factory

* Reorder fields

* Update readme

* Reorder variables

* Add schemas, update README, and fix some types

* Remove default alerts email from project and project-factory

* Move observability factory to a single file

* Add outputs to project module

* Add factories_config to PF data_defaults and data_overrides

* Reorder PF field processing

* Revert fast/ to master.

We'll do observability stuff in a separate PR

* Remove observability from FAST

* Remove new FAST tests

* Remove unused local

* Fix tests

---------

Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2025-01-05 19:49:20 +00:00
Ludovico Magnocavallo
5af0f90929 Allow setting GCS location default/override in project factory (#2715)
* allow setting GCS location default/override in project factory

* tflint
2024-11-18 17:45:52 +01:00
Joshua Wright
2676010629 Add Automation Service Accounts Output (#2640)
* Add Automation Service Accounts Output

* Add Automation Service Accounts Output

* Add Projects Output, Along with Docs

* Fix output

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2024-11-17 17:29:06 +00:00
Wiktor Niesiobędzki
8b7607af63 Codespell / whitespace fixes 2024-10-30 10:30:37 +01:00
Joshua Wright
d4cff3eafa Add Project Factory Logging Data Option (#2625)
* Add Logging Data Defaults to Data Defaults and Data Overrides

* Run TFDoc & FMT

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2024-10-17 10:54:42 +00:00
Julio Castillo
f57635d044 Add managed folders suports to gcs module (#2530)
* Add RPO, make versioning dynamic

* Add manaed folders

* Change autoclass and cors defaults to null

* Update README

* Add iam_by_principals

* Add managed folders var description

* Remove need for managed folders to end in /

* Add inventory to example

* Update readme

* Fix FAST tests
2024-08-28 07:30:52 +00:00
V0idC0de
548788dba1 fix: Make keys for local.projects consistent (#2516)
Projects configured in `folders_data_path` have their filename as key, whereas those from `projects_data_path` have their path, relative to `projects_data_path` as key.
This causes different behavior when defining `local.projects` and subsequently calling `module.projects`, unless `name` is specified.
2024-08-23 15:47:51 +00:00
Ludovico Magnocavallo
ad5de9b7ea Refactor FAST project factory and supporting documentation (#2505)
* untested

* teams pattern

* rework doc

* README

* boierplate

* tflint

* Fix tflint for project factory

* Correct path to pf

* resman changes

* fix factory variable default

* fix links

* project factory module substitutions

* tflint

* stage test

* tfdoc

* rename schema, address review comments

* README typos and wording

* tfdoc

* review comments

* remove test from yaml

* revert output workflow changes

* fix sa reference errors

* tfdoc

* pf tag roles

* schema validation

* pf tag roles

* avoid null values in pf context

---------

Co-authored-by: Wiktor Niesiobędzki <wiktorn@google.com>
2024-08-20 16:45:42 +00:00
Ludovico Magnocavallo
db044296e1 Additional module schemas (#2494)
* resman modules

* billing account

* net-vpc subnets

* fast schemas and subnet validation
2024-08-09 13:58:05 +00:00
Julio Castillo
9386764f66 Introduce YAML schema validation for YAML examples (#2488)
* Add schema key to yaml examples

* Update testing requirements
2024-08-08 23:09:22 +02:00
Ludovico Magnocavallo
c5fcbbfca8 Project factory module JSON schemas (#2485)
* folder and project schemas

* budget schema
2024-08-08 18:43:11 +02:00
Julio Castillo
c0bf32e797 Refactor service agent management (#2423)
* Service agents script

* Service agents update

* WIP

* Update script and terraform

* Fix tests

* Fix linter

* Update docs

* Bring back pf example inventory

* Fix tests

* Fix more tests

* Fix tests

* Use dataclasses for build_service_agents.py

* Remove unneeded field() from build_service_agents

* Re-enable CMEK depends_on in project outputs

* Update tools/requirements.txt

* Enable storage in GCS example projects

* Fix tests

* Add CMEK Service Agents dependencies for services

* Fix typos and data platform cmek

* More typos
2024-07-23 22:05:38 +02:00
Julio Castillo
45fd48db42 Allow project factory projects to override name (#2407) 2024-07-04 20:14:04 +02:00
Alejandro Leal
0363e2cb80 Several wording and typos updates
Several wording and typos updates
2024-06-27 07:36:19 +02:00
Sudhir
e84d479741 Fix for plan not in sync when creating billing budgets in project factory #2365 (#2368) 2024-06-20 07:23:20 +02:00
Ludovico Magnocavallo
f9a433825f Add perimeter ids in vpc-sc module outputs, fix vpc-sc in project factory module (#2335)
* add perimeter ids in vpc-sc module outputs, fix vpc-sc in project factory module

* tfdoc
2024-05-31 20:07:59 +02:00
Ludovico Magnocavallo
ef5178c929 add support for shared vpc host to project factory (#2300) 2024-05-22 07:56:34 +00:00
Jan Van Bruggen
5b3ed10cda Fix bug from output typo in new project-factory module (#2264)
`local.folders` is just a map of var-based keys to string manipulations on those keys, while `local.hierarchy` is the seemingly-intended map of var-based keys to generated IDs/numbers.

see
https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/blob/master/modules/project-factory/factory-folders.tf#L32
vs.
https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/blob/master/modules/project-factory/factory-folders.tf#L39

Thank you for recently developing this convenient module!
2024-05-10 22:19:35 +00:00
Ludovico Magnocavallo
309792c559 Refactor vpc-sc support in project module, add support for dry run (#2229) 2024-04-22 09:28:01 +02:00
Ludovico Magnocavallo
7f8d2834b3 Support automation/controlling projects and resources in project factory (#2162)
* initial implementation not tested

* project factory automation project support
2024-03-19 15:50:06 +00:00
Julio Castillo
28f02688ee Add folder factory to project-factory module (#2152)
* WIP Folder Factory

* parent keys and general fixes

* changes

* update README and example test, add support for hierarchy projects

---------

Co-authored-by: Ludo <ludomagno@google.com>
2024-03-14 15:03:42 +03:00
Ludovico Magnocavallo
39139e2fa1 add support for service account IAM variables to pf (#2130) 2024-03-05 13:13:02 +01:00
Ludovico Magnocavallo
dbabfb9ae0 Add support for billing budgets to project factory (#2112)
* align factory variable name in project factory module

* tested

* align fast stage
2024-02-27 18:13:49 +00:00