* Add end-to-end tests for project module
* Add inventory to data tests
* Add files to end-to-end test cases
* Review fixes - use named groups
---------
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Add end-to-end tests (apply, plan, destroy) for examples.
When run, `tests/examples_e2e`:
1. Create an environment for tests to run (folder, project vpc network)
2. For each marked example (with `e2e` tftest directive), run apply, plan, destroy
3. Verify:
* no failure in apply
* empty plan after apply
* no failure during destroy
4. When all tests are done, destroy test environment
More details in `tests/examples_e2e/README.md`
* Added ProtectedApplication feature to GKE Backup
* Fixed location name and added example
* Modified test module
* Changed test
* Changed test
* Changed test
* Restore old "all_namespaces" logic
* Bug fix
* Ran fmt on README example
* Modified variable structure
* Fix test
* Fix
## net-lb-int
* Fix error on apply of example:
```
Error creating RegionBackendService: googleapi: Error 400: Invalid value for field 'resource.backends[0].balancingMode': 'UTILIZATION'. Balancing mode must be CONNECTION for an INTERNAL backend service., invalid
```
* remove unused `balancing_mode` variable, as only one value is possible anyhow
## net-lb-ext
* update in the `backends` description
## net-lb-proxy-int
* update in the `backends` description
## net-lb-app-int
* added validation of `balancing_mode`
* fixed other validations
## net-lb-app-ext
* added validation of `balancing_mode`
* fixed other validations
* removed validation for `locality_lb_policy` as this variable is not used in this module
Closes: #1767
For objects that are not simple attributes of the resource (i.e.
objects, lists) allow specifing subset of values that needs to be
verified.
In case of lists, count of list objects must match, but if values are
objects / dicts, they can be specified as empty dicts which should pass
all the checks, as no keys are specified.
* Define and adopt standard IP ranges for FAST networking
This PR documents and adopts a consistent IP address plan for FAST
networking stages
Fixes#1644
* Fix documented aggregated ranges for FAST
* Fix tests
* Fix ip ranges in documentation
* Fix NVA stages README
* `gke-cluster-standard`: add optional kube state metrics
* `gke-cluster-autopilot`: add optional kube state metrics
* FAST: add kube state metrics support for GKE
* blueprints/gke: add kube state metrics support
* Bump up the provider version to `v4.82.0`
* gke-cluster-standard: upgrade `monitoring_config` to use object style. Add tests.
* gke-cluster-standard: update docs
* gke-cluster-autopilot: move gateway_api_config block (cosmetic change)
* gke-cluster-autopilot: update docs and fix typos
* Update blueprints due to `monitoring_config` changes in `gke-cluster-standard`.
* Update FAST due to `monitoring_config` changes in `gke-cluster-standard`.
* Update docs for affected blueprints and FAST stages
* gke-cluster-autopilot: add support for network tags
* gke-cluster-autopilot: add validation for network tags
* gke-cluster-autopilot: expand README and fix some typos
* gke-cluster-autopilot: fix Cloud DNS section in README
Removed a reference to Standard clusters and updated the section to include a warning because the new versions of Autopilot clusters can only use Cloud DNS and it is pre-configured by default so the example in the README does not apply to them.
* gke-cluster-autopilot: cosmetic fixes in README
* gke-cluster-autopilot: rollback validation on network tags var
* gke-cluster-autopilot: rollback docs string update for network tags var
* gke-cluster-autopilot: rollback some updates to README
* gke-cluster-autopilot: remove dead code
* gke-cluster-autopilot: add a tftest for network tags
* gke-cluster-autopilot: fix a tftest
* Update logging configuration of this module to use object interface in harmony with `gke-cluster-autopilot` module.
* Update blueprints that use this module.
* Add "WORKLOADS" log source to logging configuration of the blueprints where the README files say so.
* Update FAST stage 3 because it uses this module.
Although one cannot disable Cloud Logging and Cloud Monitoring integration in GKE Autopilot clusters, one has some flexibility over which control plane components' logs should be ingested. This commit adds a new variable and a block to the cluster resource to facilitate that.
* gke-cluster-autopilot: update logging configuration and add an example to module README
* vpc-sc : allow null for identity_type
* cloudsql-instance : fmt
* vpc-sc: tfdoc
* modules/vpc-sc: update the test result for the identity_type field
* cloudsql-instance: remove empty line
* update doco
* fix bug in TF code
* change instance name in README to fix test
* revert disk name
* Update stateful.yaml
* fix examples and tests
---------
Co-authored-by: Julio Castillo <juliocc@gmail.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
* rename firewall policy module, fix outputs
* add TOC to firewall policy module
* don't depend policy on parent id
* remove firewall policy from resource management modules
* remove factory conditionals
* fast net a and b
* fast stages
* fast tfdoc
* fast tfdoc
* remove unused test
* fix shielded folder blueprint
* fix shielded folder blueprint
* refactor module interface
* hierarchical attachment and example
* hierarchical rules and TODO
* split rules resources
* additional fields
* keep using a single resource for rules
* factory
* factory test
* boilerplate
* Prefix ingress and egress rule ids
* Tests for other firewall policy types
* Fix rule id and names
---------
Co-authored-by: Julio Castillo <jccb@google.com>
* [module/project] Grant IAM rights to service identities based on used services in host project
* [blueprints/factories/project-factory] enable granting IAM permissions in host VPC for service identities directly or by specifying services in use
* organization module
* rename iam_bindings_authoritative to iam_policy, fix tests
* add support for data access logs and iam policy to folder module
* test inventories
* add support for data access logs and iam policy to project module
* Adding dashboard to monitor VPC and VPC peering group quotas
* Adding 1 ressource to the tests (dashboard)
* Adding dashboard and tests for other networking architecture
* Update test
* fixup(project-factory): Use the correct KMS Service Agents attribute name
* Add new KMS bindings to tests
* Update test resource counts
* Update README.md resource count
The Fast stage 2-networking-* currently adds a monitoring dashboard
for VPN metrics. This change adds an additional chart to monitor the
usage of the VPN bandwidth.
This change also adds the following monitoring alerts:
* VPN tunnel established
*
[VPN bandwidth](https://cloud.google.com/network-connectivity/docs/vpn/how-to/viewing-logs-metrics#define-bandwidth-alerts)
To configure the alerts, there is a new `alert_config` variable with
defined default values.
The alerts are created in the stage `b` by default. In the stages a,
c, d, and e, the alerts are created if the user creates the On-prem
VPN.
To disable the creation of alerts, add the following to
`terraform.tfvars`:
```
alert_config = {
vpn_tunnel_established = null
vpn_tunnel_bandwidth = null
}
```
* peering stage implementation
* vpn stage implementation
* tfdoc
* tests
* add most supported google domains
* align all net stages
* add support for factory to DNS response policy module
* use dns policy factory in network stages
* boilerplate
This commints allows the test framework to use a lockfile generated
within the tools/lockfile directory. This allows reusing the provider
cache and also running tests in parallel.
* separating GKE Standard and Autopilot Modules
* Changes for Updating the terraform and provide versions
* Changes for Autopilot Readme
* Changes for Autopilot Variable
* Changes for Autopilot Readme
* Changes for Autopilot Readme
* Changes for Blueprint
* Changes for Blueprint ReadMe
* Changes for gke-standard-cluster dependency
* Changes for gke-standard-cluster in gke-fleet
* Changes for gke-standard-cluster in cluster-mesh-gke-fleet-api
* python formatting
* python formatting
* python formatting
* GKE module naming convention
* Readme Changes
* test module
* Removing comment code from Autopilot