Commit Graph

288 Commits

Author SHA1 Message Date
Ludo
1482286d0c update changelog 2024-11-28 07:49:20 +01:00
Ludo
1de21fe06d linting 2024-11-23 09:49:17 +01:00
Ludo
ec3cd62bf6 allow excluding pulls from release in changelog tool 2024-11-23 09:46:55 +01:00
Ludo
477cdc55fd Prepare v36.0.1 2024-11-23 09:38:39 +01:00
Ludo
a3bffbbcbf Merge remote-tracking branch 'origin/master' into fast-dev 2024-11-22 07:39:09 +01:00
Taneli Leppä
ebc1950ec1 Change tfdoc pre-commit hook script to use while read instead of xargs. While (#2717)
probably a bit slower, this works reliably on Linux and OS X. (BSD and GNU
xargs are unfortunately with different arguments) Also added option to set
Python binary (eg. export PYTHON=python3).
2024-11-19 09:01:15 +01:00
Julio Castillo
8714b7a713 Merge branch 'master' into fast-dev 2024-11-18 15:19:55 +01:00
Julio Castillo
c60d152f4a Add hierarchical namespace support to GCS module (#2712)
* Add hierarchical namespace support to GCS module

* remove empty iap block from inventories

* Fix tests

* Add new hns inventory

---------

Co-authored-by: Ludo <ludomagno@google.com>
2024-11-18 11:41:49 +00:00
Ludovico Magnocavallo
31cb391be7 Streamline environments variable across stages (#2688)
* streamline environments variable across stages

* linting

* linting
2024-11-15 10:22:18 +01:00
Ludo
a6c0bad947 changelog fix 2024-11-14 13:59:00 +01:00
Ludo
1c73ee7541 check HTTP status code in changelog requests 2024-11-12 18:20:51 +01:00
Ludovico Magnocavallo
6b11cdfcc9 refactor changelog for the new release process (#2660) 2024-11-11 11:59:45 +01:00
Ludo
78f4e5c98d boilerplate for v36.0.0-rc1 2024-10-31 17:52:09 +01:00
Ludovico Magnocavallo
50ac3a5013 Refactor of FAST resource management and subsequent stages (#2648)
* untested

* pllan testing

* fix stage 2s

* move providers to their own file

* single-environment stage 3

* fixes and moved blocks

* stage3 factory

* doc

* review comments

* review comments

* tfdoc

* fasts tage 1 tests

* netsec as stage 2

* fix backported roles

* fix backported roles

* tfdoc

* fixes

* fix tag value roles in stage 1

* remove checklist, fix stage 1 tests

* inventory

* Small bugfix

* refactor context tag values

* fix previous merge

* fix previous merge

* fix previous merge

* support short names for top level automation resources, change top level context variable

* fix new top level context

* roll back merge changes to stage 0 outputs

* roll back more merge changes

* linting errors

* tfdoc

* fix tests, roll back merge in tenants stage

* tfdoc

* fix inventory

* optional stage 2 env folders and tag bindings

* tflint

* damn tflint

* damn tflint

* tfdoc

* fix networking tests

* tflint

* fix test inventories

* tfdoc

* use coalesce for project parents

* fix billing role conditions

* fix billing role conditions

* security stage tested (ngw resources need fixing/porting)

* boilerplate

* fix inventory

* stage envs and stage linking script

* initial work on resman docs, update diagram, improve teams folder

* resman README

* fix stage 2 IAM delegation

* remove checklist from bootstrap

* stage 1 tests

* stage 0 1 and 2 tests

* tflint

* tflint

* tfdoc

* GCVE stage refactor (untested)

* GCVE stage refactor (untested)

* GCVE stage 3

* gcve tests

* tflint

* tfdoc

* fix links

* module tests

* stages README

* move network security to stage 2

* network security tests

* replace stage links in README files

* minimal netsec stage refactor

* use factory for iac org policies, add configurable drs org policy for iac

* test mt stage

* tfdoc

* fix cicd workflows

* fix cicd workflows

* gke-dev stage

* tflint

* remove data platform stage

* exclude provider files via tfdoc opts

* remove data platform tests and links

* fix merge

* fix resman inventory

* boilerplate

* inventory

---------

Co-authored-by: Simone Ruffilli <sruffilli@google.com>
2024-10-31 16:55:54 +01:00
Simone Ruffilli
7f8a02a405 Add support for google provider 6.x (#2536)
* Add support for google provider 6.x

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Wiktor Niesiobędzki <wiktorn@google.com>
Co-authored-by: Julio Castillo <jccb@google.com>
2024-09-05 10:35:58 +00:00
Julio Castillo
ba3e1be416 Bump provider to 5.43.1 ahead of next release (#2557) 2024-09-04 19:58:07 +02:00
Ludovico Magnocavallo
eb89c62b5f prepare v34.0.0 release (#2543) 2024-08-30 10:06:33 +02:00
Julio Castillo
d4e727a482 Update stable provider too (#2531) 2024-08-28 08:49:46 +02:00
Julio Castillo
bab85c88ba Bump provider to last release of version 5 (#2525)
* Bump provider to last release of version 5

* Remove default-versions copy in test env setup

* Use file instead of symlink in tools/lookfile

* Remove default-version reference

* Removed unused code
2024-08-27 16:50:59 +02:00
Julio Castillo
d2d345d428 example testing improvements (#2487)
* Move away from regexps to parse tftest directives

* Update tfdoc

* Use namedtuple

* Make modules and resources optional in tftest directive

* Move get_tftest_directive to a separate file

* Fix imports

* Fix e2e tests
2024-08-08 21:22:27 +02:00
Luca Prete
140c4e6446 Add --extra-files option to plan_summary.py cmd (#2452) 2024-07-30 11:29:19 +02:00
Julio Castillo
cf6b6dd645 Override primary flag for the storage transfer service agent (#2445) 2024-07-24 14:12:55 +00:00
Julio Castillo
c0bf32e797 Refactor service agent management (#2423)
* Service agents script

* Service agents update

* WIP

* Update script and terraform

* Fix tests

* Fix linter

* Update docs

* Bring back pf example inventory

* Fix tests

* Fix more tests

* Fix tests

* Use dataclasses for build_service_agents.py

* Remove unneeded field() from build_service_agents

* Re-enable CMEK depends_on in project outputs

* Update tools/requirements.txt

* Enable storage in GCS example projects

* Fix tests

* Add CMEK Service Agents dependencies for services

* Fix typos and data platform cmek

* More typos
2024-07-23 22:05:38 +02:00
Wiktor Niesiobędzki
1d76bfc3ff Add E2E tests for Cloud Functions and fix perma-diff 2024-07-08 16:14:21 +02:00
Wiktor Niesiobędzki
1f40f2e573 Add support for different endpoint types for Cloud NAT 2024-06-14 15:37:58 +02:00
Wiktor Niesiobędzki
0160392184 use /bin/sh for pre-commit script for portability 2024-06-07 08:15:33 +02:00
Alberto Geniola
61737c48a3 Change shebang on pre-commit checks (#2343)
Co-authored-by: Alberto Geniola <geniola@google.com>
2024-06-05 19:55:08 +02:00
Wiktor Niesiobędzki
49c1d60f67 Add outstanding checks from lint.sh to pre-commit (#2327)
* versions
* validate metadata
* check names
* check links
2024-05-31 10:22:21 +00:00
Wiktor Niesiobędzki
f8f18734f1 Add pre-commit hook configuration (#2326)
* Pre-commit config

Run following linters on commit:
Terraform:
- terraform fmt
- terraform tflint

Python specific:
- yapf

Shell scripts
- shellcheck
- shfmt

YAML files:
- yamllint (disabled as of now)
- check-yaml

Other:
- end-of-file-fixer
- trailing-whitespace fixer

Fabric specific
- tools/tfdoc.py
- tools/check_boilerplate.py

* linting fixes

* Fix boilerplate check
2024-05-30 19:35:09 +02:00
Simone Ruffilli
9e1008dcca FAST: Obsolete assets cleanup (#2315)
Remove obsolete assets
2024-05-28 09:35:13 +00:00
Wiktor Niesiobędzki
cf31d83b15 Explicit YAPF style 2024-05-28 10:53:13 +02:00
Simone Ruffilli
3fe754167e FAST: Clarify max prefix len for tenant factory 2024-05-23 09:43:23 +02:00
simonebruzzechesse
1e149c18fc New alloydb module (#2285)
* add alloydb module

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2024-05-22 09:40:25 +02:00
Ludovico Magnocavallo
7a5dd4e6db FAST: add top-level folders and restructure teams/tenants in resman (#2254)
* remove teams and tenants from resman

* move fast features to stage 1, fix test inventories

* folders

* fix factory, add top level folder resources to outputs

* tfdoc

* stage 0 log sink defs

* tfdoc

* enable toc in resman readme

* simple tenants

* fast compatibility automation and logging

* testing fast-compatible tenants

* testing fast-compatible tenants

* tfdoc

* remove mt stages

* remove tests, fix links

* disable tflint

* fast tests

* make organization conditional in resman

* check names tool

* export real prefix to tfvars, prevent destroy errors

* prefix validation

* fix billing account export format

* tfdoc

* root node folder

* resman changes

* tenant resman roles

* first apply of tenant resman

* tenant log sinks in stage 1

* fix test vars

* tfdoc

* tenant vpc-sc access policy

* fix tests expected values

* tenant CI/CD

* identity providers

* wif

* tfdoc

* add comments to identity locals

* full-feature tenant resman apply

* tenant billing IAM

* stage test

* fix CI/CD comments

* tenant net stage verified

* tenant sec stage verified

* fix test

* README work

* tfdoc

* README

* README rewording

* README rewording

* tfdoc

* FAST excalidraw

* review comments

* diagram review changes

* add iam log sink for tenants

* remove redundant try from security stage

* Implement tflint-fast in Python driven by tftest.yaml files

* tflint

* test ci changes

* revert linting changes

* disable tflint for fast

* Create junit-style report for FAST tflint

* Remove junit-reporter

* YAPF tflint-fast.py

* Output tflint FAST to job summary

* Step summary

* Disable step_summary as output is not useful

* ignore tflint warning

* re-enable tflint on FAST

---------

Co-authored-by: Wiktor Niesiobędzki <wiktorn@google.com>
2024-05-15 09:17:13 +00:00
Ludovico Magnocavallo
fbc7e891db Net LB App Internal Cross-Region recipe (#2214)
* reorder tfdoc methods

* add support for recipes to tfdoc

* fix repo url in tfdoc

* update module README

* validated untested recipe

* validated untested refactored recipe

* add optional proxy subnet creation, outputs, fixes

* tested

* tfdoc fix

* fix README

* exclude examples from test collector
2024-04-14 19:38:05 +03:00
Wiktor Niesiobędzki
bc5f4c3969 Use explicit UTF-8 encoding 2024-04-02 20:34:51 +02:00
Ludovico Magnocavallo
ecf5400fe3 update FAST state IAM files (#2136) 2024-03-07 00:08:09 +01:00
Mohamed Ikbal Belbahri
ae6ee03de2 Add https security to cloud-functions-v1 module (#2118)
* Add https security level to cf v1 module
* Update tfdoc.py raw strings for slug var to avoid [SyntaxWarning: invalid escape sequence]
2024-02-28 21:20:56 +01:00
Wiktor Niesiobędzki
bee3072568 Add support for Cloud Run v2 jobs (#1954)
Add support for Cloud Run v2 jobs

* create a separate file for service creation (service.tf) and job
  (job.tf) - for easy comparison
* add E2E tests where possibile
* remove default value for input variable `region`
* fix subnet range VPC Access Connector example
* add creation of service account for audit logs call (trigger requires
  service account)
* use provided trigger service account email in
  `local.trigger_sa_email`, so explicitly provided SA is passed to
  trigger
* set default value for vpc_connector_create.throughput.max, to match
  what is set by GCP API, as provider uses wrong default of 300 which
  results in perma-diff
* create inventory fiels for all examples

Global changes
* (tests) add input variable `project_number`, to allow assigning IAM permissions to Service Accounts in fixtures
* (tests) fix not outputting the path, when object is not found in inventory
* (tests) fix `create_e2e_sandbox.sh` - now it properly finds root of the repo

Secret Manager
* added `version_versions` output, to allow specifying versions in other modules. `versions` is sensitive and it makes it unsuitable for `for_each` values

New test fixtures
* `pubsub.tf` - creating one topic
* `secret-credential.tf` - creating Secret Manager `credential` secret
* `shared-vpc.tf` - creating two projects (host and service), and vpc in host project
* `vpc-connector.tf` - creating VPC Access Connector instance
2024-02-18 14:57:34 +01:00
simonebruzzechesse
d11c380aec Format python files in blueprints (#2079)
* format python files in blueprints
* update check on blueprints python code
* update python linter in CI workflow
2024-02-15 09:37:49 +01:00
Julio Castillo
efb76b93e4 Remove unused tfeditor (#2039) 2024-02-02 10:14:14 +00:00
Wiktor Niesiobędzki
29b615e20d Add version check to tools/lint.sh (#1955) 2023-12-30 09:09:10 +01:00
Julio Castillo
fde7b76036 Allow per-module terraform fixtures (#1914)
* Allow terraform fixtures for examples

* Allow defining multiple fixtures, and named fixtures under tests/fixtures/

* Enable e2e for wiktorn

* Fix prepare_files call for e2e

* Move fixture to separate file, fix test

* Revert shallow-copying symlinks, performane penalty - 20%

* Update tfdoc.py to list used fixtures

---------

Co-authored-by: Wiktor Niesiobędzki <wiktorn@google.com>
2023-12-29 09:43:44 +00:00
Julio Castillo
b6e0557bbb Simplify organization tags.tf locals (#1932)
* Simplify organization tags.tf locals

* Fix boilerplate

* Override github provider version for tests
2023-12-18 16:09:22 +00:00
Ludo
f368165ea7 update github provider 2023-12-18 12:25:22 +01:00
Wiktor Niesiobędzki
c5c127b9df Use TFTEST_E2E_ instead of TF_VAR variables
Use of TF_VAR variables modified results of `tests/examples` and
required setting different environment to run `tests/examples` and
`tests/examples_e2e` tests. No both can be run using the same
environment.
2023-11-30 07:43:46 +00:00
Simone Ruffilli
6d89b88149 versions.tf maintenance + copyright notice bump (#1782)
* Bump copyright notice to 2023

* Delete versions.tf on blueprints

* Pin provider to major version 5

* Remove comment

* Fix lint

* fix bq-ml blueprint readme

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Julio Castillo <jccb@google.com>
2023-10-20 18:17:47 +02:00
Julio Castillo
ef290c1c8d Enforce mandatory types in all variables (#1737) 2023-10-06 09:44:33 +00:00
Alejandro Leal
81c6959617 Update to lint.sh and wording to some tf
fast/stages-multitenant/0-bootstrap-tenant/identity-providers.tf
fast/stages/0-bootstrap/identity-providers.tf
tools/lint.sh
2023-10-05 00:17:20 -04:00
Julio Castillo
5591dabdc5 Remove print 2023-08-31 11:20:25 +02:00