Commit Graph

29 Commits

Author SHA1 Message Date
Luca Prete
f2d4e937d1 Fix pre-commit hook (#3882) 2026-04-18 10:07:14 +02: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
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
439fc4ad3c Remove resman mentions from FAST files (#3709)
* wip

* nuke resman mentions
2026-02-07 11:56:10 +01:00
Simone Ruffilli
de8ebefe17 Start the deprecation process of the old networking stages (#3451)
This PR renames `2-networking-foo` stages to `2-networking-legacy-foo` - including references of stages in docs and tests.

**Breaking Changes**

```upgrade-note
`fast/stages/2-networking-a-simple`: The stage is being deprecated, and superseded the `2-networking` FAST stage, introduced in #3435 
`fast/stages/2-networking-b-nva`: The stage is being deprecated, and superseded the `2-networking` FAST stage, introduced in #3435 
`fast/stages/2-networking-c-separate-envs`: The stage is being deprecated, and superseded the `2-networking` FAST stage, introduced in #3435 
`modules/net-vpc-factory`:  The module has been deprecated, and superseded the `2-networking` FAST stage, introduced in #3435 
```
2025-10-22 16:31:14 +02:00
Ludovico Magnocavallo
756c02c21a Rename new botstrap stage to org-setup (#3299)
* readme changes

* rename stage 0

* rename stage 0

* complete rename of stage 0

* tfdoc

* tfdoc

* tfdoc
2025-09-04 13:34:16 +02:00
Laurent Al Hossri
4a652324ee Add GitLab SaaS support in fast/extras/0-cicd-gitlab (#3088)
* feat: add support to SaaS gitlab instance

* fix: fmt terraform

* Update README.md

* fix: validation && add gitlab url local

* fix: adapt readme.md to include gitlab_config modifications

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Ludovico Magnocavallo <ludo@qix.it>
2025-05-18 08:32:40 +00:00
Laurent Al Hossri
8cef0e8ffd fix: remove file starting by 1 and 2 to avoid copying 1-resman-provid… (#2944)
* fix: remove file starting by 1 and 2 to avoid copying 1-resman-providers.tf, 2-project-factory-providers.tf ...

* feat: add schemas to repository files

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2025-05-18 07:14:29 +00:00
Ludovico Magnocavallo
27f1cc2b79 Implement FAST stage add-ons, refactor netsec as add-on (#2800)
* security fixes

* change netsec to be a virtual stage in resman

* remove netsec bits from security stage, leave CAs in place

* netsec - security profile groups

* export regions to networking tfvars

* netsec - trust stores

* netsec refactor, untested

* netsec plan working

* netsec apply

* netsec apply errors

* netsec diagram

* update diagram

* move addon stages to addons folder

* remove top-level assets folder

* deprecate and remove fast plugins

* addon tests

* dynamic addon providers and cicd, untested

* stage 1 addons in stage 0, refactor stage 0 cicd

* addons and cicd refactor in stage 0 with tests

* refactor stage 0 cicd

* readd removed block

* small bootstrap cicd fixes

* refactor stage 1 cicd

* resman tests

* remove plugins from networking tests

* fix fast tests

* ngfw addon outputs

* try to fix unrelated tflint error in bootstrap

* remove common tfvars from bootstrap tests to fix linter errors

* tfdoc

* minimal readmes and links fixes

* tfdoc

* trim down test inventories

* fix plan test

* tfdoc

* allow configuring output files names

* fix tls inspection after adding count to project module

* comment fixes

* tfdoc
2025-01-09 18:14:11 +00:00
Ludovico Magnocavallo
e4413dbbd1 add documentation instructions for corner cases in github and bootstrap (#2545) 2024-08-30 14:04:43 +02:00
Luca Prete
c39145e3cf Remove alpha from gcloud storage cp as it moved to GA (#2446) 2024-07-24 22:46:43 +02:00
Jay Bana
a514ce0ef5 [FAST] Housekeeping in CICD workflow templates and extra stage (#2412)
* Sync GitHub workflow template in assets with rest of the repo

* Remove trailing whitespace in 1-tenant-factory GitHub workflow template

* Update actions/github-script version as per NodeJS deprecation warnings

* Remove redundant Source Repo templates given #2352

* Update gh file content to handle base64 png in line with #2286

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2024-07-08 14:40:32 +02:00
simonebruzzechesse
10ae9bc824 New extra stage for FAST gitlab setup (#2232)
* new extra stage for gitlab setup

* removed wrong link

* small fixes README.md

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2024-05-22 09:17:14 +02:00
Julio Castillo
3af7e257d2 Add tflint to pipelines (#2220)
* Fix terraform_deprecated_index

https://github.com/terraform-linters/tflint-ruleset-terraform/blob/v0.5.0/docs/rules/terraform_deprecated_index.md

* Fix terraform_deprecated_interpolation

Reference: https://github.com/terraform-linters/tflint-ruleset-terraform/blob/v0.5.0/docs/rules/terraform_deprecated_interpolation.md

* Fix more indexing

* Remove unused variable

* Enable TFLint for modules

* Add tflint config file

* Fix chdir

* Lint modules

* TFLint fixes

* TFLint

* Fixes binauthz README

* Fixes DNS response policy tests. Restores MIG outputs.

* Fixes other DNS response policy tests.

* Update tests for fast 2-e

* Moar fixed tests

---------

Co-authored-by: Simone Ruffilli <sruffilli@google.com>
2024-04-17 10:23:48 +02:00
Ludovico Magnocavallo
815728aca6 fix repo names check (#1443) 2023-06-15 16:08:57 +00:00
Ludovico Magnocavallo
121bc30e90 fix typo in variable name (#1324) 2023-04-17 07:40:05 +00:00
Ludovico Magnocavallo
9072c3472e strip org name from deploy key repo (#1328) 2023-04-17 08:59:07 +02:00
Anton KOVACH
1355ee4c44 Refactor to avoid explicit dependencies 2023-03-15 10:07:09 +01:00
Anton KOVACH
e344dbc4f4 Add populate_samples attribute 2023-03-13 20:29:50 +01:00
Anton KOVACH
7a53511c9a Enable populating of data directory and .sample files and update dependencies
The Readme.md files reference the data directory and .sample files, but the code did not allow for their populating. This update enables the copying of the data directory and .sample files, with the data directory being populating as a data.sample directory to prevent overwriting any existing data directory.

Additionally, dependencies have been updated by adding the depends_on section to several resources to ensure that the dependencies are in the correct order. This update addresses some states that were not being handled previously.

There is a minor known issue with Pull Request creation in the current state of the code. The Pull Request is only created after the first run has occurred. A fix for this issue is currently being worked on and will be addressed in a separate Pull Request. However, this issue does not affect the main functionality of the code.
2023-03-11 15:27:41 +01:00
Anton KOVACH
77db9121f9 feat: Add Pull Request support to 0-cicd-github (#1213)
* feat: Add Pull Request support to 0-cicd-github

The cloud-foundation-fabricrepository is continually evolving, and to help keep up with the changes, it would be beneficial to introduce a pull request mechanism to review and approve changes. This feature is 100% backward compatible, and by default, no pull request is created, and changes are committed directly to the main branch. However, an optional variable pull_request_config can be used to configure the title, body, head_ref, and base_ref of the pull request that will be created for the initial population or update of files. To create a pull request, in pull_request_config set the create attribute to true. base_ref defaults to main, and head_ref to the name of the head branch. If the head branch doesn't exist, it will be created from the base_ref branch.

* fix README.md

* fix pull_request_config title
2023-03-06 09:32:36 +01:00
Anton KOVACH
e72ddb6a2a feat: Add option to skip committing unchanged files in 0-cicd-github (#1212)
When running 0-cicd-github multiple times, files that haven't changed are also committed. This change adds an option to skip committing unchanged files to prevent unnecessary commits.

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2023-03-05 19:16:48 +01:00
Anton KOVACH
5905903d6e fix module_prefix (#1164)
Add module_prefix to locals
2023-02-19 18:22:42 +00:00
Anton KOVACH
5cf60cbcf4 Fix Terraform formatting and add module_prefix attribute to modules_config (#1162)
* Fix Terraform formatting and add module/ prefix to path in 0-cicd-github repository population

fix the formatting of Terraform files and adds the module/ prefix to the module path in 0-cicd-github under repository population. Without proper formatting and module path, generated repositories may show formatting mismatches and examples in the README.md file may not run as expected.
The changes include updating the replace function with a new regular expression pattern to correctly apply the git source for modules and updating the each.value.file attribute to include the module/ prefix in the Terraform file path. This ensures that the examples in the README.md file work as intended and that the generated repositories follow best practices for Terraform code.

* revert modules/ prefix change

* Add module_prefix to modules_config

- Add module_prefix to modules_config
- Add example to Readme.md
- use module_prefix variable to specify the path

* fix tfdoc
2023-02-19 18:01:38 +01:00
Ludovico Magnocavallo
5453c585e0 FAST multitenant bootstrap and resource management, rename org-level FAST stages (#1052)
* rename stages

* remove support for external org billing, rename output files

* resman: make groups optional, align on new billing account variable

* bootstrap: multitenant outputs

* tenant bootstrap stage, untested

* fix folder name

* fix stage 0 output names

* optional creation for tag keys in organization module

* single tenant bootstrap minus tag

* rename output files, add tenant tag key

* fix organization module tag values output

* test skipping creation for tags in organization module

* single tenant bootstrap plan working

* multitenant bootstrap

* tfdoc

* fix check links error messages

* fix links

* tfdoc

* fix links

* rename fast tests, fix bootstrap tests

* multitenant stages have their own folder, simplify stage numbering

* stage renumbering

* wip

* rename tests

* exclude fast providers in fixture

* stage 0 tests

* stage 1 tests

* network stages tests

* stage tests

* tfdoc

* fix links

* tfdoc

* multitenant tests

* remove local files

* stage links command

* fix links script, TODO

* wip

* wip single tenant bootstrap

* working tenant bootstrap

* update gitignore

* remove local files

* tfdoc

* remove local files

* allow tests for tenant bootstrap stage

* tenant bootstrap proxies stage 1 tfvars

* stage 2 and 3 service accounts and IAM in tenant bootstrap

* wip

* wip

* wip

* drop multitenant bootstrap

* tfdoc

* add missing stage 2 SAs, fix org-level IAM condition

* wip

* wip

* optional tag value creation in organization module

* stage 1 working

* linting

* linting

* READMEs

* wip

* Make stage-links script work in old macos bash

* stage links command help

* fix output file names

* diagrams

* fix svg

* stage 0 skeleton and diagram

* test svg

* test svg

* test diagram

* diagram

* readme

* fix stage links script

* stage 0 readme

* README changes

* stage readmes

* fix outputs order

* fix link

* fix tests

* stage 1 test

* skip stage example

* boilerplate

* fix tftest skip

* default bootstrap stage log sinks to log buckets

* add logging to tenant bootstrap

* move iam variables out of tenant config

* fix cicd, reintroduce missing variable

* use optional in stage 1 cicd variable

* rename extras stage

* rename and move identity providers local, use optional for cicd variable

* tfdoc

* add support for wif pool and providers, ci/cd

* tfdoc

* fix links

* better handling of modules repository

* add missing role on logging project

* fix cicd pools in locals, test cicd

* fix workflow extension

* fix module source replacement

* allow tenant bootstrap cicd sa to impersonate resman sa

* tenant workflow templates fix for no providers file

* fix output files, push github workflow template to new repository

* remove try from outpout files

* align stage 1 cicd internals to stage 0

* tfdoc

* tests

* fix tests

* tests

* improve variable descriptions

* use optional in fast features

* actually create tenant log sinks, and allow the resman sa to do it

* test

* tests

* aaaand tests again

* fast features tenant override

* fast features tenant override

* fix wording

* add missing comment

* configure pf service accounts

* add missing comment

* tfdoc

* tests

* IAM docs

* update copyright

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2023-02-04 15:00:45 +01:00
Julio Castillo
4f7cb39a06 Simplify readme discovery 2022-12-18 14:00:20 +01:00
Ludo
aa69ef4fb9 fix resource name 2022-11-14 17:23:46 +01:00
Ludovico Magnocavallo
dff7b69250 FAST: bootstrap and extra stage CI/CD improvements and fixes (#956)
* add clone commands output

* always create secret key for repos, fix module source

* optional modules ref

* tfdoc

* create secrets in the right repositories

* add publick key to modules repository

* bump Terraform version in CI templates

* add template to populated files

* tfdoc

* do not error out writing ci/cd workflows when output files are disabled

* update README

* fix apply file outputs when outputs_location is changed to null
2022-11-08 09:38:15 +01:00
Ludovico Magnocavallo
fc7bf40e69 Initial replacement for CI/CD stage (#903)
* github extra stage

* remove original cicd stage

* allow setting commit attributes via variabes

* remove reference to deleted stage

* optional repo creation, documentation
2022-10-23 19:52:45 +02:00