365 Commits

Author SHA1 Message Date
Julio Castillo
d8d66583f8 Bump GCP provider version to 7.33.0 (#4004)
* Bump provider version

* Fix inventories

* Ignore certificates in inventories

* Add header to cloud run recipe

* Optimize file copy for example-based tests

* Remove local references
2026-05-31 21:04:01 +00:00
Ludovico Magnocavallo
8e0826a95e prep v56.1.0 2026-05-25 12:27:30 +00:00
Simone Ruffilli
1594a01c6f Cosmetic and linter fixes (#3981) 2026-05-22 08:28:01 +00:00
Ludovico Magnocavallo
87ede610c4 prep v56.0.0 2026-05-21 09:19:03 +00:00
kovagoadam
1907c38e22 Add IAM deny policies support (#3970)
* Added IAM denial policies

* Moved default to empty, removed trys, added condition vars to expression

* remove redundant null checks

* reduce line length

* boilerplate and principal context expansion

* update readmes

* add explicit validation against null values

* add context tests

* Add missing license headers to examples

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-05-21 02:38:06 +00:00
Simon Roberts
e06e86ee51 Permit leading "dry_run:" in org-policy names (#3975) 2026-05-19 05:10:27 +00:00
Ludovico Magnocavallo
a2493caf25 prep v55.4.0 2026-05-10 14:46:23 +00:00
Julio Castillo
78a5ffa198 Add support for SCIM to workforce identity (#3951)
* Add support for SCIM to workforce identity

* Update schemas and tests
2026-05-10 11:21:09 +00:00
Simon Roberts
26dbaa2d6e Enable terraform_naming_convention in tflint (#3930)
* Draft terraform_naming_convention

* Two fast/stages fixes for terraform_naming_convention

* Disable terraform_naming_convention for resources for now

* module fixes for terraform_naming_convention

* tfdoc

* Remove "moved" from recipe and needs-fixing

* Fix moved for spoke_ra

* fix tests

* Use default (snake_case) for resources

* factory.terraform_data.project-preconditions

* First-pass migration of resources + tests

* Fix tests/modules/organization

* Require snake_case for variables; Add annotations for _testing

* permit _fast_debug variable

* Fix net_vpc_factory and net_vpc_firewall tests

* tfdoc addons and recipe

* Fix more tests

* Fix some net-global -> net_global tests

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-05-06 06:06:26 +00:00
Samuele Perticarari
c0ee6842c6 feat(alloydb): Implement track_client_address field in AlloyDB module (#3916)
* Implement track_client_address field in AlloyDB

* Bump Google TF providers to 7.29
2026-04-28 07:40:25 +00:00
Julio Castillo
74d5cd633a Bump minimum OpenTofu version to 1.11.00 (#3918) 2026-04-27 19:12:01 +02:00
Julio Castillo
8450edbf2b prep v55.3.0 2026-04-27 10:25:51 +02:00
Ludovico Magnocavallo
392ee6bda4 prep v55.2.0 2026-04-25 04:51:39 +00:00
Julio Castillo
2eaa0d5e27 Add support for dynamic tags (#3897)
* Allow creation of dynamic tags

* Extend project factory and related modules to support dynamic values

* Extend folder and organization modules

* project and organization readme

* Simplify dynamic tag support and remove unnecessary restrictions

  • Schemas & Validations: Removed the restriction that forbade combining IAM fields with  allowed_values_regex  on tags. Updated validations in  project  and  organization  modules, and
  simplified all relevant JSON schemas.
  • Module Tag Bindings: Simplified the  tag_value  assignment in  folder ,  project ,  gcs ,  bigquery-dataset , and  kms  modules by removing the defensive  can(regex(...))  check and
  calling  templatestring  directly.
  • Outputs: Removed the  tags_dynamic  output from  project  and  organization  modules, as the same information is now available in  tag_keys .
  • Project Factory: Updated  tag_vars_projects  in  projects.tf  to use the native  namespaced_name  attribute and filtered manually for dynamic tags.

* fix(organization, project): fix linting and tests for dynamic tag support

- Align allowed_values_regex and description extraction in _tags_merged
  locals to use lookup() for consistency with other fields.
- Fix spacing in project context variable (alphabetical ordering).
- Update organization tags test to include the new cost_center tag key
  with allowed_values_regex.
- Update project tags test to include the new cost_center tag key and
  reflect the resolved allowed_values_regex on environment.

* refactor(gcs): refine tag bindings and fix context test

- Add _tag_bindings local to pre-resolve context references, enabling
  templatestring to receive a direct map reference (required by Terraform).
- Use var.context.tag_vars instead of the non-existent local.ctx.tag_vars.
- Fix HCL syntax in context.tfvars (escaped inner quotes).
- Update context test inventory to reflect 3 tag bindings including a
  dynamic value resolved via templatestring.

* refactor: align modules with tag binding context pattern

- Add _tag_bindings local + templatestring dance to cloud-run-v2,
  compute-vm, folder, kms modules (bigquery-dataset already had it)
- Exclude tag_vars from local.ctx in cloud-run-v2, compute-vm, folder,
  kms, project modules (bigquery-dataset already had it)
- Add tag_vars to context variable in cloud-run-v2, compute-vm modules
  (others already had it)
- Update all context tests with dynamic tag binding values using
  var.context.tag_vars

* docs: add module-level tftest.yaml test instructions to GEMINI.md

* docs: regenerate READMEs after tag-regex alignment

- Regenerate variable tables in 7 module READMEs to reflect
  line number shifts from prior tag-regex changes
- Add tag_vars exclusion to gcs ctx local
- Fix whitespace alignment in iam-service-account and
  project-factory tag_vars blocks
- Update tftest resource counts for organization and project
- Remove tags_dynamic from organization/project output tables

* fix(project-factory): update test inventory for tag_bindings module split

- Move tag binding address from folder-2 to folder-2-iam in test
  inventory (tag_bindings moved from creation to IAM modules)
- Update module instance count from 34 to 35
- Regenerate README tables after terraform fmt line shifts
- Apply terraform fmt to variables.tf

* refactor(project-factory): remove unnecessary depends_on from folder-iam modules

Folder IAM modules depend on their own folder creation modules, not
on module.projects. The explicit depends_on was leftover from an
earlier design.

* FAST stages

* Address review comments.

- FAST Stages:
  - Added tag_keys to output-files.tf in 0-org-setup to pass org tags via tfvars.
  - Sorted tag_keys and tag_values in output-files.tf.
  - Updated project-factory, networking, and security stages to use tag_keys.
  - Filtered tag_keys for dynamic tags only.
- Modules:
  - Excluded tag_vars from local.ctx in iam-service-account and organization.
  - Simplified tag_value in iam-service-account.
- Tests:
  - Updated test inventories for 0-org-setup and project-factory.

* Fix tf format

* Fix tfdoc

* docs: add ADR for templatestring vars convention and update status of base path ADR

* More tfdoc

* Update schemas

* Use endswith in context loop

* Address review

* Update FAST readmes

* Update last modules

* Terraform fmt

* Revert alloydb

* Fix whitespace

---------

Co-authored-by: Ludovico Magnocavallo <ludo@qix.it>
2026-04-24 20:45:45 +00:00
Ludovico Magnocavallo
fb33752d8d Support context interpolation for PAM email recipients (#3903) 2026-04-24 18:29:31 +02:00
Hemanand
eaa420534b Add agent engine BYOC support (#3885)
* feat(agent-engine): add support for container and custom image specs

- Add container_config to deployment_files.
- Add image_spec with build_args to source_config.
- Make agent_framework optional and document supported values.
- Implement dynamic specs for container and source deployments.
- Add examples and automated tests for new deployment types.

* chore: update Google provider version to 7.28.0 across modules

Mechanical update of versions.tf and versions.tofu files using tools/versions.py.

* feat(agent-engine): refactor for container deployments and API alignment

- Group deployment settings under 'deployment_config' (renamed from 'deployment_files').
- Support container-based deployments via 'container_config' and 'image_spec'.
- Refactor 'source_files_config' (renamed from 'source_config') to include mutually exclusive 'python_spec' and 'image_spec'.
- Support 'developer_connect_config' as a source code type.
- Group engine settings (framework, env, secrets) under 'agent_engine_config'.
- Add support for 'memory_bank_config' persistent memory.
- Overhaul reasoning engine resources with dynamic blocks to match provider schema.
- Update all documentation examples, add TOC, and refresh test inventories.

* Update dynamic python_spec block and related example yamls

* Ignore changes setting for developer_connect_source under lifecycle management

* fixing review comments for `try` and default path for `source_path`

---------

Co-authored-by: Hemanand <hemr@google.com>
Co-authored-by: Julio Castillo <jccb@google.com>
2026-04-21 17:46:20 +00:00
Ludovico Magnocavallo
25bd428d17 prep v55.1.0 2026-04-20 14:22:29 +00:00
Luca Prete
f2d4e937d1 Fix pre-commit hook (#3882) 2026-04-18 10:07:14 +02:00
Julio Castillo
ad912d795a Enable creation of organization- and folder-level service agents (#3877)
* Enable creation of organization- and folder-level service agents

* formatting

* Add folder test

* Add org tests

* linting

* more linting

* Fix tests
2026-04-16 17:35:17 +00:00
Ludovico Magnocavallo
9c40f56332 prep v55.0.0 2026-04-14 11:42:34 +00:00
Ludovico Magnocavallo
037fcb565b Merge remote-tracking branch 'origin/fast-dev' 2026-04-14 08:53:46 +00:00
Ludovico Magnocavallo
920eaf128b prep v54.4.0 2026-04-14 08:47:07 +00:00
kovagoadam
1050daff71 Add support for creating multiple workforce identity pools (#3846)
* Added support for multiple workforce identity pools

* Fixed organization module workforce identity federation outputs

* tfdoc

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Julio Castillo <jccb@google.com>
2026-04-14 06:55:18 +00:00
Ludovico Magnocavallo
85b0871085 Add net-vpc-factory and starter-gcd dataset to 0-org-setup, fix context in net-vpc-factory (#3860)
* feat(fast/0-org-setup): integrate net-vpc-factory into stage 0

* initial starter dataset

* starter pack

* fix(fast/0-org-setup): correct factory vpcs paths definition and update test inventory

* feat(fast/0-org-setup): add VPC and subnet outputs and update stage tfvars

* test(fast/0-org-setup): update gcd starter defaults and regenerate inventory

* fix(modules/net-vpc-factory): remove internal defaults logic and pass context correctly

* fix typo in dataset fw rule, add missing boilerplate, set sane defaults for net vpc factory

* terraform fmt

* tfdoc, copyright year

* schema docs

* yamllint
2026-04-13 09:42:03 +02:00
Julio Castillo
1cb643b3c1 Decouple logging sinks in FAST stages 0 and 1 (#3858)
* Decouple logging sinks in FAST stages 0 and 1

* Fix ternary

* Fix tests

* Fix vpcsc tests

* Fix typo

* remove filenames
2026-04-11 00:14:15 +02:00
Ludovico Magnocavallo
fa1e390af7 prep v54.3.0 2026-04-09 12:30:25 +00:00
Hemanand
92d591a9b6 Add memory bank to modules/agent-engine (#3844)
* feat(agent-engine): add support for memory bank configuration

* refactor(agent-engine): remove source_path_override and revert to standard source_path

* provider version upgrade from 7.17 to 7.27

* docs(agent-engine): fix README validation and update tables

---------

Co-authored-by: Hemanand <hemr@google.com>
2026-04-08 17:09:27 +00:00
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
0cc97937be prep v54.2.0 2026-04-02 12:56:36 +00:00
Ludovico Magnocavallo
2fe082f7d1 Merge remote-tracking branch 'origin/master' into fast-dev 2026-03-26 16:15:17 +00:00
Ludovico Magnocavallo
774ca376e6 prep v54.1.0 2026-03-26 15:53:38 +00:00
jnahelou
78e00682f8 Ignored condition attribute in IAM tag bindings within the organisation/project modules (#3762)
* fix(modules/organization): conditions ignored in tags

* fix(modules/project): conditions ignored in tags

* fix(modules/project): Tags:1 test skipped due to bad markdown block

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-03-18 17:12:46 +00:00
Vannick Trinquier
38e885a47c Add support of organizational based service agents in VPC-SC stage (#3802) 2026-03-18 16:08:08 +07:00
Ludovico Magnocavallo
dd95efc53e prep v54.0.0 2026-03-05 11:11:25 +00:00
Ludovico Magnocavallo
e282f4bb4f prep v53.1.0 2026-03-05 10:55:44 +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
Martin Bergo
60ec6db9cd docs(organization): document external IAM management for logging sinks at scale (#3746)
* docs(organization): document external IAM management for logging sinks at scale

* Update TOC

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-02-18 15:08:23 +00:00
Ludovico Magnocavallo
26e622edae prep v53.0.0 2026-02-12 09:12:54 +00:00
Ludovico Magnocavallo
079aac1f88 Merge remote-tracking branch 'origin/master' into fast-dev 2026-02-12 09:07:04 +00:00
Ludovico Magnocavallo
5765b11a87 prep v52.1.0 2026-02-12 09:01:26 +00:00
Ludovico Magnocavallo
a782b3e11b Merge remote-tracking branch 'origin/master' into fast-dev 2026-02-10 07:41:40 +00:00
Julio Castillo
518d9d96aa Expose additional workforce identity attributes (#3717) 2026-02-09 15:30:58 +01:00
Ludovico Magnocavallo
465ab5499a Merge remote-tracking branch 'origin/master' into fast-dev 2026-02-07 11:17:09 +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
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
cdc5e7df45 prep v52.0.0 2026-01-30 16:00:47 +00:00