7060 Commits

Author SHA1 Message Date
8995067fd4 Hungarified fabric
Some checks failed
Tests / setup-tf-providers (terraform) (push) Failing after 7m42s
Tests / setup-tf-providers (tofu) (push) Failing after 3m36s
Tests / examples-project-templates (push) Has been skipped
Tests / examples-modules (terraform) (push) Has been skipped
Tests / examples-modules (tofu) (push) Has been skipped
Tests / modules (terraform) (push) Has been skipped
Tests / modules (tofu) (push) Has been skipped
Tests / fast (terraform) (push) Has been skipped
Tests / schemas (push) Has been skipped
Linting / linting (push) Failing after 4m41s
Create daily release tags / Create tag on master if there was activity in last 24 hours (push) Successful in 14s
daily-2026.06.18
2026-06-17 23:25:23 +02:00
Luca Prete
6dcb19466a Update and fix module net-lb-proxy-int (#4024)
* Fix net-lb-int-proxy

* WIP update

* Update tests
2026-06-15 08:08:26 +00:00
Simone Ruffilli
a0987e189d Add Multi-Region support to cloud-run-v2 module (#4022)
* Add Multi-Region support to cloud-run-v2 module

* Support context expansion for multi_region_settings regions

* Fix multi_region_regions formatting line length
2026-06-11 15:07:30 +00:00
Simone Ruffilli
d57c79ac92 Standardize label validation in JSON schemas to conform with GCP platform limits (#4021)
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-06-11 10:56:45 +00:00
Simone Ruffilli
8adb84c95c Add net-lb-proxy-int-cross-region module and tests (#4017)
* Add net-lb-proxy-int-cross-region module and tests

* Add context support example and tests

* Update copyright to 2026 and support instance group backends

* docs: correct Instance Groups support note in README
2026-06-11 07:56:01 +00:00
Pawan Roshan Gupta
e753344bd2 Support per-replica tier override in modules/cloudsql-instance (#4014)
* Support per-replica tier override in modules/cloudsql-instance

Replicas previously ignored any caller-provided tier and silently
inherited the primary's tier. Add an optional `tier` field to the
`replicas` map and use `coalesce(each.value.tier, var.tier)` in the
replica resource so per-replica overrides take effect while
preserving the inherit-from-primary default.

* Update README

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-06-09 08:02:34 +00:00
kovagoadam
81e1a0c273 Added IAM Deny Policy to organization schema (#4016) 2026-06-09 07:40:18 +00:00
Ludovico Magnocavallo
24775a03ae Fix boot disk validation when attaching existing disk in compute-vm (#4015) 2026-06-07 10:14:48 +00:00
Brandon Tucker
4a9245d20a Enable managed connection pooling in modules/alloydb (#4009)
* Enable managed connection pooling

* Add validation to connection_pool_flags

* Update README

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-06-05 08:56:13 +00:00
Simone Ruffilli
4c8fe5a33d Update FAST stages README and cleanup instructions (#4013) 2026-06-05 08:02:54 +00:00
Loïc Tisseyre
64df95d449 removed 2-secops from FAST_STAGE_DEPS in 3-secops-dev (#4011) 2026-06-04 10:43:38 +00:00
Julio Castillo
008a3719ad Support service_agents_config.skip_iam in project-factory and fast stages (#4007)
* Support service_agents_config.skip_iam in project-factory and fast stages

* Fix inventories

* Change service-agent creation/iam order
2026-06-01 10:04:54 +00:00
Julio Castillo
e3e261442f Add skip_iam option to project service agents config (#4005) 2026-06-01 04:36:07 +00:00
Julio Castillo
982717188d Avoid tag binding permadiffs for project-factory service accounts (#4006)
* Avoid tag binding permadiffs for service accounts created by project-factory

* Regenerate schema docs
2026-06-01 04:33:53 +00:00
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
Julio Castillo
5d1f5a0431 Update bug_report.yaml 2026-05-31 22:49:49 +02:00
Brandon Tucker
3ee1cc7ab3 Enable remaining PSC config options in modules/cloudsql-instance (#3982)
* Enable remaining PSC config options

* Windows slashes

* Updates from review; slim down locals; obsolete psc_allowed_consumer_projects

* Windows slashes

* tfvars; examples

* Copy-paste bug

* Proper list check

* Updates from Automated PR Review

* Slahes

* null psc fix; regenerate custom test inventory

* fmt

* Correct fixtures; remove deletion_policy from instance resources

* Fix test

* Remove deletio policy

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-05-30 17:38:55 +00:00
dependabot[bot]
f0325fc0c4 Bump qs in /modules/api-gateway/recipe-multi-region/function (#4003)
Bumps [qs](https://github.com/ljharb/qs) from 6.14.2 to 6.15.2.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.14.2...v6.15.2)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.15.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-30 15:09:04 +00:00
Antonio Lopez
129ebffe02 Add new variables to spanner instance and database (#4001)
* added new variables to instance and database

* tf fmt
2026-05-30 15:01:21 +00:00
Julio Castillo
ee8b7396b7 Enable merge queue and remove fast-dev branch from CI (#4002) 2026-05-30 16:51:18 +02:00
Brandon Tucker
f3bec257b2 Enable remaining PSC config options in modules/alloydb (#4000)
* Add PSC config variables

* Remove locals

* fmt

* Updates from Automated PR Review
2026-05-29 17:56:15 +00:00
Abhishek
58301c9eda Add containerd_config support to gke-nodepool (#3973)
* Add ephemeral_storage_local_ssd_config support to modules/gke-nodepool

Adds ephemeral_storage_local_ssd_count to node_config variable and the
corresponding dynamic ephemeral_storage_local_ssd_config block in the
node pool resource, enabling use of local SSDs as ephemeral storage.

* feat(gke-nodepool): add flex_start support to node_config

Add `flex_start` as an optional bool to the `node_config` variable type
and wire it through to the `google_container_node_pool` resource's
node_config block. This enables DWS (Dynamic Workload Scheduler)
flex-start mode for node pools, used for on-demand capacity access
without requiring ProvisioningRequest objects (e.g. spot TPU pools).

* feat(gke-nodepool): add flex_start support to node_config

Add `flex_start` as an optional bool to the `node_config` variable type
and wire it through to the `google_container_node_pool` resource's
node_config block. This enables DWS (Dynamic Workload Scheduler)
flex-start mode for node pools, which allows the Cluster Autoscaler to
request capacity on-demand without requiring ProvisioningRequest objects
(unlike queued_provisioning). Typical use case is spot TPU node pools.

* feat(gke-nodepool): add advanced_machine_features support to node_config

Add `advanced_machine_features` as an optional object to the `node_config`
variable type and wire it through to the `google_container_node_pool`
resource via a dynamic block. This allows callers to configure
`threads_per_core` (e.g. set to 1 to disable hyperthreading) and
`enable_nested_virtualization` for node pools that require fine-grained
CPU threading control or nested hypervisor support.

GKE auto-sets `advanced_machine_features` (threads_per_core=1) on
ct6e/TPU machine types; exposing this field also lets consumers add it to
ignore_changes in their own lifecycle blocks to avoid forced replacements.

* feat(gke-nodepool): add containerd_config support to node_config

Add `containerd_config` as an optional object to the `node_config` variable
and wire it through to the `google_container_node_pool` resource via a
dynamic block. This allows callers to configure private registry mirrors or
custom containerd registry hosts per node pool — useful for air-gapped
environments and internal registry proxies.

The `registry_hosts` list maps each upstream server to one or more mirror
hosts, with optional `capabilities`, `override_path`, and `dial_timeout`
fields (all defaulting to sensible values).

* refactor(gke-nodepool): use maps for containerd_config registry_hosts and hosts

Convert registry_hosts and hosts from lists to maps so that the registry
server and host URLs serve as stable keys, avoiding index-shifting issues
with for_each. Add default values for capabilities, override_path, and
dial_timeout. Update README example and test inventory accordingly.

* Remove default values from containerd_config hosts fields

Leave capabilities, override_path, and dial_timeout without defaults
so the provider/API picks them rather than the module imposing values.

* Refine containerd_config variable interface

- Simplify header to optional(map(list(string)))
- Flatten ca, client cert/key to strings with descriptive names
- Derive private_registry_access_config enabled from ca domain config list
- Simplify writable_cgroups to optional(bool)
- Flatten gcp_secret_manager_certificate_config to string
- Remove redundant defaults where try() handles null in main.tf
- Fix long lines in main.tf to stay within 79-char limit
- Update copyright year to 2026 in inventory files

* fix(gke-nodepool): run terraform fmt to fix attribute alignment in containerd_config

* docs(gke-nodepool): regenerate README with updated variable line numbers

* fix(gke-nodepool): use coalesce instead of try for null header map in for_each

* tests(gke-nodepool): update containerd-config inventory to match actual plan output

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-05-27 10:00:26 +00:00
Simone Ruffilli
09b11e6f5d Add support for regional firewall policies in 2-networking stage (#3997) 2026-05-26 08:18:11 +00:00
Ludovico Magnocavallo
cddd28f492 Revert "Add CODEOWNERS file with maintainers (#3994)" (#3996)
This reverts commit fcae290c3a.
2026-05-26 09:51:59 +02:00
Ludovico Magnocavallo
fcae290c3a Add CODEOWNERS file with maintainers (#3994)
Enforce that only designated code owners can satisfy the
required review count on protected branches. This prevents
non-member approvals (which GitHub allows on public repos)
from appearing to meet branch protection requirements.
2026-05-26 07:41:09 +00:00
Ludovico Magnocavallo
f44d633311 docs: update release-process skill to use H2 for breaking changes 2026-05-25 15:50:30 +00:00
Ludovico Magnocavallo
8e0826a95e prep v56.1.0 2026-05-25 12:27:30 +00:00
Luca Prete
e4f2c68d8b Add context to net-lb-proxy-int (#3988)
* net-lb-proxy-int: add context

* Update modules/net-lb-proxy-int/README.md

* Update modules/net-lb-proxy-int/README.md

* Update modules/net-lb-proxy-int/README.md

* Update modules/net-lb-proxy-int/README.md

* Update modules/net-lb-proxy-int/README.md

* Update modules/net-lb-proxy-int/README.md

* Update modules/net-lb-proxy-int/README.md

* Update modules/net-lb-proxy-int/README.md

* Update modules/net-lb-proxy-int/README.md

* Update modules/net-lb-proxy-int/README.md

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2026-05-24 17:03:56 +00:00
Ludovico Magnocavallo
c24dae395b Enhance testing harness stability and update repository documentation (#3983)
* Refactor skill turn harness, fix session serialization, and resolve E2E test failures

* Ignore symlinks during workspace copying and enforce sandbox boundaries in playbooks

* Refactor interaction loop to use clean async generator-based Event flow

* Introduce dedicated async generator test and improve autonomous tester instructions

* Enforce strict sandbox awareness and Step 8 policy import gates

* Track and display conversation context size next to turn headers

* Streamline token usage display to only appear in turn step headers

* Refactor token usage tracking to show actual active context size

* Implement progress tracking block and human recovery in test harness

* docs: document and categorize repository skills and tools

* docs: add maintenance instructions for updating FACTORIES.md tables

* docs: add missing data-catalog-policy-tag factory in FACTORIES.md

* docs: add missing networking stage sub-factories in FACTORIES.md

* docs: add systematic commands for discovering module/stage factories in FACTORIES.md

* docs: add missing vpcs factories in 0-org-setup and 2-project-factory stages
2026-05-24 12:25:50 +02:00
Ludovico Magnocavallo
81f72e8068 Add FAST Prerequisites Skill and Gemini Skill Test Harness (#3979)
* initial version of a FAST pre-install skill

* first round of testing

* Update fast-0-org-setup-prereqs skill with improved UX and local path handling

- Add explicit lockout warning and stop condition if the user is not a member of the provided Admin Principal group.
- Streamline bootstrap project selection to only prompt for an override if the active gcloud project is rejected.
- Restrict dataset discovery strictly to the `fast/stages/0-org-setup/datasets/` directory.
- Improve location handling by referencing `defaults.schema.json` for Standard GCP and auto-configuring fixed regions for GCD.
- Add comprehensive `local_path` management: prompt for customization, create directories, move `defaults.yaml` to the local data folder, and symlink `0-org-setup.auto.tfvars` back to the stage directory.

* add testing scenarios, implement initial changes for scenario 2

* move skills

* move to a skills/fast subfolder

* Refactor fast-0-org-setup prereqs skill

* Add skill-turn-harness utility tool

* Use relative markdown links for skill references

* Use descriptive titles for markdown links in skill references

* Add descriptions to each phase in the prerequisites workflow map

* Use backslash for markdown line breaks in skill map

* Update README security warning to mention default .gitignore

* shebang

* Update fast prereqs skill rules to force sequential question flow and refine harness tool with proper ctrl+c handling and slugified log paths

* Move playbook-gcp-dev.yaml to fast/prerequisites/gcp-dev.yaml and update fast prerequisites

* docs(skill-turn-harness): detail autonomous pond testing approach

* docs(skill-turn-harness): add final_state_checks to pond architecture and update toc

* Refine fast prereqs SKILL and gcp-dev playbook to strictly align with one-question-at-a-time rule

* feat(skill-turn-harness): update playbook schema for autonomous persona mode

* feat(skill-turn-harness): implement autonomous persona testing mode and fallback logic

* docs(skill-turn-harness): document the three modes of testing and update ToC

* implement timeout, schema validation, configurable cli

* chore: remove accidentally committed log files

* chore: ignore logs directory

* feat(skill-harness): implement tool execution interception, configurable workspace, and modularized validation

* feat(skill-harness): add model configuration and update README

* fix(skill-harness): automatically inject -y flag to gemini commands

* docs(skill-harness): add TODO.md with analysis for skill environment dependencies

* feat(skill-harness): add working_dir support and clean up fixtures

- Implement working_dir in harness to run tests in specific directories.
- Rename test fixtures and playbooks to be more descriptive.
- Add E2E test for working_dir.
- Apply code quality improvements to harness.py (imports, linting).
- Update README with working directory considerations and usage notes.
- Update phase3-bootstrap-and-iam.md skill doc to add execution rule against creating temp scripts.

* fix: capture customer_id and respect relative paths

* Implement isolated temp workspace sandboxing with symlinks in test harness

* Configure GCD manual autonomous playbook and align Phase 3/4 steps order

* Fix linting and schema tests failures

- Add missing license headers to tools/skill-turn-harness files.

- Fix trailing spaces and newlines in playbooks.

- Ignore tools directory in schema tests workflow.

TAG=agy

CONV=1bb75453-c3e2-448b-bae9-8e332a068012

* Fix Python formatting with yapf

TAG=agy

CONV=1bb75453-c3e2-448b-bae9-8e332a068012

* Refactor skill-turn-harness to use Antigravity SDK

- Migrated harness from gemini-cli subprocesses to Antigravity SDK.
- Implemented real-time step streaming and console logging.
- Added color-coded terminal output (dark gray headers, blue inputs, pink outputs).
- Collapsed excessive newlines in streamed thoughts.
- Excluded harness codebase from workspace copy to prevent agent cheating.
- Enabled skills folder copy to resolve agent lookup loops.
- Added key validation and CLI --debug flag.

* Fix autonomous turn layout: print Turn ID before execution

- Moved the [Autonomous Turn X] header print to before running the agent turn.
- This groups the real-time thinking and tool calls under the correct Turn ID block, instead of displaying them before the label.

* Remove obsolete .log.md from prerequisites skill directory
2026-05-22 17:16:54 +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
Simone Ruffilli
288978dc91 Add support for arbitrary addresses in FAST networking stage (#3978)
Add support for addresses in FAST networking stage
2026-05-21 11:04:18 +02:00
Julio Castillo
3a3eeeda53 Remove lifecycle ignore_changes from looker-core (#3977) 2026-05-21 10:24:00 +02: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
Abhishek
36ca3c33a5 feat(gke-nodepool): add advanced_machine_features support to node_config (#3972)
Add `advanced_machine_features` as an optional object to the `node_config`
variable type and wire it through to the `google_container_node_pool`
resource via a dynamic block. This allows callers to configure
`threads_per_core` (e.g. set to 1 to disable hyperthreading) and
`enable_nested_virtualization` for node pools that require fine-grained
CPU threading control or nested hypervisor support.

GKE auto-sets `advanced_machine_features` (threads_per_core=1) on
ct6e/TPU machine types; exposing this field also lets consumers add it to
ignore_changes in their own lifecycle blocks to avoid forced replacements.

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-05-19 08:29:01 +02:00
Simon Roberts
e06e86ee51 Permit leading "dry_run:" in org-policy names (#3975) 2026-05-19 05:10:27 +00:00
Julio Castillo
490dbfbdc5 Initial skill to compose Fabric modules (#3868)
* Initial skill to use compose Fabric modules

* Update CONTRIBUTING to reflect new naming patterns

* Fix boilertplate

* Add readme, update year

* Update script and conventions

* fix python format

* remove random string mention

* Make fetch commands explicit. Allow downloading schemas.

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-05-18 20:03:36 +02:00
Brandon Tucker
c75fbaf66e Allow week5 maintenance update track (#3971)
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-05-18 07:17:09 +00:00
Luca Prete
e7118d52e5 [fix] Agent Engine unmanaged deployments don't include inline-source (#3969) 2026-05-15 16:26:42 +00:00
Brandon Tucker
76c6d4f404 [Cloud SQL] Add and pass-through vars.users.database_roles (#3968)
* Fix weekly_schedule config section for secondary instance

* Add and pass-through vars.users.database_roles

* Merge from upstream

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-05-14 21:25:00 +00:00
Abhishek
2e2bf0150a feat(gke-nodepool): add flex_start support to node_config (#3964)
Add `flex_start` as an optional bool to the `node_config` variable type
and wire it through to the `google_container_node_pool` resource's
node_config block. This enables DWS (Dynamic Workload Scheduler)
flex-start mode for node pools, which allows the Cluster Autoscaler to
request capacity on-demand without requiring ProvisioningRequest objects
(unlike queued_provisioning). Typical use case is spot TPU node pools.

Co-authored-by: Julio Castillo <jccb@google.com>
2026-05-14 15:39:35 +00:00
Ludovico Magnocavallo
ed234bfb46 Fix unresolved variables in starter-gcd and customizations tests (#3967)
* Fix unresolved variables in starter-gcd dataset (#3961)

* Fix unresolved variables in customizations test (#3961)

* leftover files for the fix
2026-05-14 14:36:23 +00:00
Josh Myers
abff147a95 feat(project-factory): Support factories_config in data_defaults (#3966) 2026-05-14 13:44:15 +00:00
Ludovico Magnocavallo
332b516ae8 Add support for org-level service agents in stage 0 (#3962)
* Add support for org-level service agents in stage 0

* update schema doc

* Fix service agents context key separator
2026-05-14 08:36:34 -04:00
Luca Prete
2c489cfd32 Add new agent-gateway module (#3931) 2026-05-14 08:03:35 +00:00
Arpit Jain
748684dd9c ci: declare contents: read on linting and tests workflows (#3960)
linting runs prettier / yamllint / boilerplate checks.
tests runs terraform/tofu plan + unit tests with matrix providers.
Both are pure read - no commits, releases, or comments.

Signed-off-by: Arpit Jain <arpitjain099@gmail.com>
2026-05-14 08:12:55 +02:00
Ludovico Magnocavallo
981e4581ee Add project-factory based data platform dataset to FAST project factory stage (#3957)
* dp rewrite stage 0, projects

* remove plan files

* generalize handling of basepath for projects in project-factory module

* central-0 ---> core-0

* add schemas, validate YAMLs, tags

* aspect types

* data catalog policy tag factory

* add support for data catalog taxonomy to project factory

* complete retrofit of old stage configuration, except networking

* shared vpc networking

* networking

* data platform as pf dataset

* docs

* test

* remove legacy dp stage, fix tests and links

* boilerplate

* tfdoc

* fix unrelated tfdoc

* schemas

* fix errors

* schema

* duplicate schemas

* yamllint

* Fix module naming convention for aspect-types

* Fix factories_config in vpcs.tf for net-vpc-factory compatibility

* Update schema documentation based on schema changes

* Fix false rename conflict in .config.yaml files

* Sync schemas and update documentation

* Fix path expansion for aspect-types and revert projects_input to master

* Restore path expansion for org_policies in projects-iam call

* Fix trailing newlines in schema duplicates to satisfy duplicate-diff

* Fix path expansion for data_catalog_taxonomy in taxonomies.tf

* Update inventory for data-platform test and clean up debug prints

* Add full values to data-platform inventory

* Align Stage 2 VPC Factory integration with Stage 0 and fix tests

TAG=agy

* Fix project factory context resolution and data platform datasets

- Update tag context keys in project factory to use file key without 'projects/' prefix.
- Fix tag reference in product-0.yaml.
- Fix shared_vpc_service_config in shared-0.yaml by moving service account to network_users.
- Set parent for domain-0 folder to data-platform.
- Mock net-dev-0 project ID in tests.
- Update inventories.

TAG=agy
CONV=4b37fa5b-bf59-4604-9e8f-b55353d967a0

* Fix project-level tag keys context resolution in project factory

* Fix commented out tag reference in domain-0 .config.yaml

* Fix merge() calls with empty arguments in project-factory and data-catalog-policy-tag

* Update Data Platform dataset README with prerequisites and customization guide

* Add Table of Contents to Data Platform dataset README

* docs: update Data Platform README with project templates tip

* Document data platform output files and linking sequence in README

* Update data platform README with VPC-SC and delegated IAM details

* Refactor data platform dataset and align stage defaults

* Update test inventory and variables for data platform with new prefix
2026-05-12 16:44:32 +02:00
Abhishek
3b830dd3e4 Add ephemeral_storage_local_ssd_config support to modules/gke-nodepool (#3956)
Adds ephemeral_storage_local_ssd_count to node_config variable and the
corresponding dynamic ephemeral_storage_local_ssd_config block in the
node pool resource, enabling use of local SSDs as ephemeral storage.
2026-05-12 10:41:16 +00:00
Ludovico Magnocavallo
5d57658e36 Fix changelog categorization and enhance script (#3955)
* Fix categorization of PR #3949 in CHANGELOG.md

* Enhance changelog.py to error on uncategorized PRs

* Update skill to propose breaking changes to user
2026-05-10 17:15:16 +00:00