Commit Graph

105 Commits

Author SHA1 Message Date
Julio Castillo
bc5b203a8f Add toggle to tfdoc to remove type hints (#3842)
* Add toggle to tfdoc to remove type hints

* Update all readmes

* Fix python formatting
2026-04-08 11:08:18 +00:00
Ludovico Magnocavallo
534fd4faf0 add support for service agents to project factory service accounts IAM (#3830) 2026-04-02 08:31:39 +00:00
Ludovico Magnocavallo
a4eb4d24fd Compute VM module refactor (#3805)
* add ad for compute-vm refactor

* Exclue nic_type from validated fields, add split of main.tf and template.tf

* boot disk

* fix examples and fixtures

* attached disks

* fix further examples and module-level tests

* remove extra file

* fix mig examples

* finish refactoring variables

* align fast and other modules

* refactor(compute-vm): align examples and ADR with the newly implemented interface

This commit addresses the remaining references of the `instance_type` and `confidential_compute` parameters in the testing environment and updates the ADR.

* feat(compute-vm): add network_performance_config to instance and templates

This change implements the usage of the `network_performance_tier` variable we added earlier into the actual Terraform resources.

---------

Co-authored-by: Wiktor Niesiobędzki <wiktorn@google.com>
2026-03-26 11:31:40 +00:00
Ludovico Magnocavallo
7a5664f475 Additional changes to folder module and project factory (#3782)
* allow null name, use basepath for factories in pf folders

* fix id in folder schema
2026-03-05 09:32:35 +00:00
Ludovico Magnocavallo
0be09646b0 Add missing folder features to project factory and align logging across folder/org modules (#3779) 2026-03-04 10:28:48 +01:00
Ludovico Magnocavallo
67b1543e90 Support additional attributes for buckets/datasets in project factory module (#3755)
* extend attributes for project factory secondary resources

* remove extra files

* complete

* tf fmt

* tfdoc

* schemas

* fix tests

* tfdoc
2026-02-20 11:57:59 +00:00
Luca Prete
90d7ffc703 [project-factory] Add service_agent outputs (#3750) 2026-02-19 09:08:16 +00:00
Ludovico Magnocavallo
079aac1f88 Merge remote-tracking branch 'origin/master' into fast-dev 2026-02-12 09:07:04 +00:00
Ashley Abbott
c09a5d3e24 feat: pass variable for additive by principal (#3731)
* feat: pass variable for additive by principal

* fix reference
2026-02-12 08:53:30 +00:00
Ludovico Magnocavallo
fb21f6aaf8 Change factories_config type in FAST and project/vpc factory modules, add YAML schema validation (#3728)
* stage 0

* stage 1

* networking

* security

* pf stage

* tfdoc

* align schemas

* inventory

* fix observability

* pf module

* pf module budgets

* align fast stages

* align project subfactories

* tfdoc

* schema validation

* add missing schemas

* Fix observability types

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-02-11 15:29:49 +00:00
Ludovico Magnocavallo
bcca9e44ac Support project-level tag key/value contexts in project factory (#3714)
* cross-project tag context

* improve regression test

* add tag contexts to README contexts table
2026-02-09 08:54:29 +00:00
Ludovico Magnocavallo
fda89827a2 revert #3704 (#3713) 2026-02-07 11:08:25 +01:00
Vannick Trinquier
d499dc6928 Add support for bucket logging configuration in module gcs and project-factory (#3699) 2026-02-06 14:14:46 +07:00
Ludovico Magnocavallo
06da98fac6 Fix regression in project factory module context (#3708)
* fix regression in pf

* regression test
2026-02-05 18:06:34 +00:00
lopezvit
97297d6065 fix(project-factory): Correctly interpolate IAM principals in tags (#3704)
* fix(project-factory): Correctly interpolate IAM principals in tags

Moves the processing of `tags` and `tag_bindings` from the `projects` module instance to the `projects-iam` instance.

This fixes a bug where IAM principals for automation service accounts, referenced via `$iam_principals:service_accounts/...`, were not being interpolated within `tags` IAM definitions. The `projects` module was called before the automation service account context was available, leading to the literal string being used instead of the service account email. Processing tags in the `projects-iam` module ensures the full context is available for interpolation.

Adds new tests for both the `project` and `project-factory` modules to validate the fix.

* fix(project-factory): Tag creation is now done in 2 steps.

1st step(projects): Creation of the tags without IAM bindings
2nd step(projects-iam): IAM bindings without creating the tags again
That way we are more backwards compatible as tags and tags values are back to be under  module.project-factory.module.projects["*"].google_tags_tag_*

* fix(modules/project-factory): introduce fix suggested by @ludoo, fix logs

* fix(modules/project-factory): fix linting

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-02-05 15:50:43 +00:00
Ludovico Magnocavallo
8e7253ba11 add missing IAM interface attributes to service account module (#3700) 2026-02-04 12:07:06 +01:00
Ludovico Magnocavallo
06c6df5fec allow null prefixes in project factory when override is not set (#3691) 2026-01-30 16:52:50 +01:00
lopezvit
6db25b1a08 Add support for the Assured Workloads in the project factory (#3666)
* Add support for the Assured Workloads in the project factory

* Fix test after requiring organization as a var
2026-01-23 13:21:48 +01:00
Julio Castillo
d9e1b924a1 Add asset_feeds to resman modules (#3658)
* Add asset_feeds to resman modules

* Add examples and update readmes

* Extend pubsub_topic context to project and folder modules

* Use pubsub_topic context for pubsub_destination

* Update readmes and add project-factory asset_feed example

* Update context tests

* Update schemas
2026-01-20 14:37:35 +00:00
Julio Castillo
cff8a25c59 Introduce iam_by_principals_conditional (#3649)
* Introduce iam_by_principals_conditional

* Add iam_by_principals_conditional to project factory

* Update IAM ADR

* Update project factory readme

* Sync FAST schemas

* Update organization schema

* Add resman tests for iam_by_principals_conditional

* Update PF project-defaults.tf

* Update copyright
2026-01-14 11:16:07 +00:00
Ludovico Magnocavallo
88306fe99a Adding missing context replacement type to project factory README, add folder_ids to project condition vars (#3642)
* Adding missing context replacement type to project factory README

* add folder ids to project context condition vars
2026-01-12 14:41:07 +01:00
Ludovico Magnocavallo
fedf90d25f Add support for pubsub to project factory (#3608)
* add support for pubsub to project factory

* remove duplicate data access log definitions from folders

* tfdoc

* schemas

* fix example

* add pubsub topics context to org in stage 0
2025-12-23 10:24:33 +00:00
Josh Myers
1eb93db427 feat: project-factory folders support deletion_protection (#3595)
* feat: project-factory buckets support deletion_protection

* chore: Update all folder.schema.json

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2025-12-18 14:25:05 +00:00
Ludovico Magnocavallo
ab0f55216a Add support for descriptive name to projects (#3591)
* add support for descriptive name to projects

* boilerplate

* fmt
2025-12-12 09:06:47 +01:00
Ludovico Magnocavallo
216a12eae5 Fix CI/CD dataset files and provider workflow variable in FAST stage 0 (#3587)
* fix CI/CD dataset files and provider workflow variable

* IAM principals use pool, sts uses provider

* tfdoc

* fix variable description
2025-12-11 15:05:39 +01:00
Ludovico Magnocavallo
7cc12da6b3 Merge remote-tracking branch 'origin/master' into fast-dev 2025-12-10 18:19:11 +00:00
kovagoadam
4e88bec299 Use project numbers in billing budget filter (#3555)
* Fixed project level billing budget filter

* Moved project_numbers local to concat block

* Fixed with try block

* fix project replacement

* tfdoc

* fix test

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2025-12-10 17:35:06 +00:00
Ludovico Magnocavallo
7c05299540 Implement additional GCS attributes in project factory (#3583)
* implement additional bucket attributes in project factory

* update FAST schemas

* fmt/tfdoc
2025-12-10 16:12:58 +01:00
Vannick Trinquier
171a2c6690 Add support for CMEK in logging bucket, big query dataset and gke notifications (#3558) 2025-12-04 10:01:32 +00:00
Ludovico Magnocavallo
10e29e1eeb Context improvements: "all service accounts" principal in folder, org, project modules; custom roles in factory condition vars for FAST stage 0 (#3548)
* iam principalsets

* fix folder

* add custom roles to factory condition vars in stage 0

* project shared vpc IAM
2025-11-24 08:28:41 +00:00
Julio Castillo
3959bb3974 Fix aprover -> approver (#3540)
* Fix aprover -> approver

* Once again...
2025-11-19 08:50:23 +01:00
Ludovico Magnocavallo
897c6ef8c3 Add support for Workload Identity to project module and project factory (#3531)
* module-level support

* fast stage 0

* fix inventory, add outputs/tfvars

* wip

* project factory

* pf outputs

* iam templates will be added where ci/cd configs are managed

* fix merge conflicts
2025-11-17 07:31:21 +00:00
Ludovico Magnocavallo
fc7aa71ada Add support for KMS key creation to project factory (#3518)
* initial implementation

* context

* tfdoc

* add support for autokey to projects

* fix typo
2025-11-11 07:23:50 +01:00
Ludovico Magnocavallo
ba77c6170c Allow configuring data access logs from org/folder/project schemas (#3516)
* modules and FAST support

* module tests

* fast stage 0 dataset

* tfdoc
2025-11-10 10:19:21 +00:00
Ludovico Magnocavallo
cafb8f8aec Revert "Add support for project templates to projects variable in project fac…" (#3499)
This reverts commit ecbf890889.
2025-11-03 11:35:29 +01:00
Ludovico Magnocavallo
ecbf890889 Add support for project templates to projects variable in project factory module (#3498)
* support project template in projects variable

* variable defined projects go through normalization too
2025-11-03 09:53:14 +00:00
Ludovico Magnocavallo
0a2cc758ac Essential contacts in schemas, and email context substitutions (#3495)
* modules

* fast

* duplicate diff

* fix contacts in FAST stage 0 datasets, update contacts in YAML schemas
2025-11-03 08:53:29 +01:00
Ludovico Magnocavallo
f9f015a692 Implement precondition check in project factory to ensure declared templates exist (#3493)
* pf template check

* tfdoc

* test inventories
2025-10-31 15:32:33 +00:00
Ludovico Magnocavallo
c765043c5c add the self project key to service account namespaces (#3490) 2025-10-30 16:42:13 +00:00
Ludovico Magnocavallo
97596a0e8b Merge remote-tracking branch 'origin/master' into fast-dev 2025-10-26 11:19:18 +00:00
Wiktor Niesiobędzki
7fe999562a codespell fixes 2025-10-26 11:56:41 +01:00
Ludovico Magnocavallo
56b213a047 add fourth folder level to project factory module (#3467) 2025-10-26 10:34:02 +01:00
Ludovico Magnocavallo
7b272da6b6 Merge remote-tracking branch 'origin/master' into fast-dev 2025-10-21 18:38:50 +00:00
Julio Castillo
367184561b Few more typos 2025-10-21 15:13:51 +02:00
Vannick Trinquier
c60ae3652a Adding hardened datasets for preventive and detective Compliance Controls (#3410)
* Adding hardened datasets for preventive and detective Compliance Controls in stage 0 and stage 1 VPC-SC

* Move observability to factory file

* Update documentation

* Update local variable for use

* Update observability factory to use other module

* Add raw diagram file for hardened datasets

* Retrofit change

* Rename log_buckets context variable to be consistent across modules

* Update stage 0 documentation to mention hardened dataset

* Update customer ids list

* Update documentation, path to schema add ID to access level

* Comment organization policy gcp.resourceLocation by default

* Prevent duplicate key error by merging principal roles

* Adding ngfw roles files in hardened datasets

* Update script to validate files differences to support folder and datasets

* Format duplicate-diff python script

* Remove .config.yaml from duplicates

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2025-10-21 10:34:25 +00:00
Ludovico Magnocavallo
ec09414823 Merge remote-tracking branch 'origin/master' into fast-dev 2025-10-20 13:58:44 +00:00
Julio Castillo
48f6b4cd49 Add PAM support (#3438)
* PAM first pass

* Add factory and extend to organization

* Extend to project, add examples

* Add additionalProperties to all objects

* Fix boilerplate

* Expose pam_entitlements to project-factory

* Fix readme

* Move entitlements to second folder/project pass

* extend tests

* Fix readme

* Remove timeouts from inventories
2025-10-20 12:50:37 +00:00
Ludovico Magnocavallo
ff71c9f1a3 fix pf merge 2025-10-18 14:30:57 +00:00
Ludovico Magnocavallo
5e05044306 Merge remote-tracking branch 'origin/master' into fast-dev 2025-10-18 14:22:57 +00:00
Ludovico Magnocavallo
4113da128b Support resource-level factories config in project factory module and FAST stages (#3440)
* support resource-level factories in project factory module

* align folder and project schemas across modules and fast

* schema docs
2025-10-18 10:41:19 +00:00