Commit Graph

2806 Commits

Author SHA1 Message Date
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
lopezvit
4045d3c9cd docu: without specifying the asn to be 16550 this example gives an error (#3706)
Error:
com.google.apps.framework.request.StatusException: <eye3 title='INVALID_ARGUMENT'/> generic::INVALID_ARGUMENT: Invalid value for field 'resource.router': 'projects/<PREFIX>-prod-net-core-0/regions/europe-north1/routers/encrypted-vlan-attachment-b-underlay'. The Cloud Router used by PARTNER type interconnect attachments must be assigned a local ASN of '16550'

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-02-09 09:36:20 +01:00
Ludovico Magnocavallo
465ab5499a Merge remote-tracking branch 'origin/master' into fast-dev 2026-02-07 11:17:09 +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
Julio Castillo
7d33becacf Add asset_search to folder, project, and organization modules. (#3707) 2026-02-05 12:56:27 +01:00
Julio Castillo
f5958b9eae Merge branch 'master' into fast-dev 2026-02-05 12:25:31 +01:00
Liam Nesteroff
9debc3df6f feat: Add schema check to custom constraints, SCC custom modules, and observability configurations, along with their respective schema definitions. (#3705) 2026-02-05 12:20:25 +01:00
Samuele Perticarari
b2cbd7a3c6 fix: Fixed external broken links (#3703) 2026-02-04 14:35:37 +01:00
Ludovico Magnocavallo
8e7253ba11 add missing IAM interface attributes to service account module (#3700) 2026-02-04 12:07:06 +01:00
Simone Ruffilli
1404fb20da Net-vpc-factory (#3696)
This PR (re :D)introduces module net-vpc-factory, a minimal factory that deals with vpcs, subnets, and firewall rules creation, meant to be embedded into other factories, starting with 2-data-platform and 2-networking.
2026-02-04 11:36:58 +01:00
Vannick Trinquier
2af44b0651 Add support for security command center mute rules in module organization, folder and project (#3694) 2026-02-04 08:31:05 +07:00
Ludovico Magnocavallo
0e760c3015 fix id in service module when reusing in a universe (#3698) 2026-02-03 18:28:57 +00:00
Julio Castillo
3e277d808a Fix project-factory observability factory (#3695) 2026-02-02 16:02:00 +00:00
Suryansh Singhal
ce83fa5397 cloudsql maintenance window day made optional (#3693)
* - Mark maintenance_window.day as optional\n- Update validation logic to allow null values\n- Keep existing range checks when day is provided

* - Mark maintenance_window.day as optional\n- Update validation logic to allow null values\n- Keep existing range checks when day is provided

* updated the Readme

* refactor maintenance config day validation for cloud sql instance

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-02-02 10:28:53 +00:00
Suryansh Singhal
995e884700 fixed the datapath provider (#3692)
Co-authored-by: Julio Castillo <jccb@google.com>
2026-02-02 09:00:14 +00:00
Ludovico Magnocavallo
cdc5e7df45 prep v52.0.0 2026-01-30 16:00:47 +00:00
Ludovico Magnocavallo
12fd675c8c Merge remote-tracking branch 'origin/master' into fast-dev 2026-01-30 15:59:10 +00:00
Ludovico Magnocavallo
1f8c2b36da prep v51.1.0 2026-01-30 15:58:47 +00:00
Ludovico Magnocavallo
30810146cf Merge remote-tracking branch 'origin/master' into fast-dev 2026-01-30 15:54:45 +00:00
Ludovico Magnocavallo
06c6df5fec allow null prefixes in project factory when override is not set (#3691) 2026-01-30 16:52:50 +01:00
Ludovico Magnocavallo
1a2f84a5a7 Fix resource policies for regional disks in compute-vm module (#3689)
* fix resource policy for regional disks

* remove unused providers from lockfile
2026-01-30 14:46:40 +01:00
Luca Prete
dc2ccfe518 Fix Agent Engine PSC-I configuration (#3687) 2026-01-30 07:38:41 +01:00
Luca Prete
3877a40119 Add PSC-I support to Agent Engine module (#3686) 2026-01-30 07:24:06 +03:00
Tom Wehmeyer
6ba109f5ae Add template revision to ignore_changes list 2026-01-29 11:03:07 +01:00
Thomas Colomb
a29b1619e9 fix(gke-cluster-standard): Avoid perpetual diff on network tags in node_pool_auto_config block (#3680)
* fix(gke-cluster-standard): Avoid perpetual diff on network tags in node_pool_auto_config block

* Fix test, remove network tags when empty
2026-01-27 14:12:21 +00:00
Ludovico Magnocavallo
d95c4fcc3f Merge remote-tracking branch 'origin/master' into fast-dev 2026-01-27 11:55:58 +00:00
Ludovico Magnocavallo
8490df96bf Use context syntax for VPC-SC access levels and policies (#3678)
* access levels as context

* ingress/egress context in module

* ingress/egress context in module

* update FAST

* tfdoc

* context test
2026-01-26 15:12:26 +00:00
Ludovico Magnocavallo
91973aca23 add support for custom periods in factory budgets (#3674) 2026-01-24 09:58:25 +00:00
Ludovico Magnocavallo
447420f173 enable source tag support for hierarchical firewall rules (#3673) 2026-01-24 09:41:13 +00:00
Suryansh Singhal
f94033f098 improve configurability and resource references for internal ALB (#3654)
* refactor(net-lb-app-ext): improve configurability and resource references

- Allow overriding names for backend buckets and instance groups
- Add optional per-group description with default value
- Use self_link for instance group backend references
- Fix HTTP proxy name to use http_proxy_config

* reverted the instance group reference in backend service back to id instead of self link

* updated all the lb modules for unmanaged instance groups to have flexible names and proper refactorization of http_proxy_cofig in each module

* removed the description variable

* updated the readme.md for the net-lb-app-ext-regional module

* fixed the linting error for the change in versions.tf

---------

Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-01-23 15:35:52 +00:00
Ludovico Magnocavallo
b18a883506 Support universe-specific package domain in artifact registry module (#3671)
* universe

* tflint

* yamllint
2026-01-23 15:55:14 +01:00
Julio Castillo
8dde9fe773 Fix domains of default service accounts when universe is present (#3670) 2026-01-23 14:11:17 +00:00
Julio Castillo
1e82683b15 Add service connection policies to net-vpc (#3667) 2026-01-23 12:51:00 +00: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
Vannick Trinquier
2ea4c27fe8 Add context support for constraints and additional controls for hardened datasets (IAM, GKE and others) (#3661) 2026-01-23 08:28:02 +07:00
Julio Castillo
d46b39b717 Add missing context interpolations (#3659) 2026-01-20 20:21:56 +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
Ludovico Magnocavallo
04de8f7de7 Support CMEK configuration in org module logging settings, expose identities in FAST context (#3656)
* support CMEK configuration in org module logging settings, expose identities as FAST contexts

* remove hash from inventories
2026-01-19 13:35:30 +01:00
Luca Prete
ecb92b508c Add ability to use existing source files in GCS. (#3653) 2026-01-15 16:39:05 +00:00
Suryansh Singhal
620551cbb1 feat(logging-bucket): support locked parameter for project parent types (#3650)
* feat(logging-bucket): support locked parameter for project parent types
- Add locked parameter to project bucket resources with default value of false.

* fixed the linting error, added the validation for project level bucket only and removed the nullable constraint
2026-01-15 11:46:32 +01:00
Suryansh Singhal
ca7e437d60 fix(artifact-registry): resolve permadiff for docker_config immutable_tags (#3652)
A persistent diff was occurring for Docker artifact registries where `immutable_tags` was set to `false`. On every `terraform plan`, Terraform would propose changing `immutable_tags` from `false` to `null`.

This was caused by the `for_each` condition in the `docker_config` dynamic block, which only created the block if `immutable_tags` was explicitly set to `true`.

The condition has been updated to check if `immutable_tags` is not null (`!= null`) instead of checking if it is true (`== true`). This ensures the `docker_config` block is correctly generated for both `true` and `false` values, aligning the configuration with the resource's state and eliminating the persistent diff.

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-01-15 10:56:25 +01: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
David Liebert
649cab0020 fixed bug where label field is ignored for policy based routes (#3648)
* fixed bug where label field is ignored for policy based routes

* Fix example and inventory

* Add missing schema

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-01-14 09:48:16 +00:00
Ludovico Magnocavallo
032db2f902 expose bigquery kms in project schema (#3645) 2026-01-13 10:30:19 +01: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
labbott-hub24
5e6f9a4332 Added locality_lb_policy support to the regional ext alb module (#3638)
Added http_cookie to the session_affinity validation
doc update

Co-authored-by: Julio Castillo <jccb@google.com>
2026-01-12 12:50:53 +01:00
Julio Castillo
6febcfe136 Add support for mirroring rules to modules/net-firewall-policy (#3636)
* Add support for mirroring rules to net-firewall-policy

* Split mirroring rules

* Add schema

* Sort variables
2026-01-12 11:10:43 +00:00