tree: 8dd702330ecb1a59319555ff5cd77a17ee717f84 [path history] [tgz]
  1. .terraform.lock.hcl
  2. apache-beam-testing.tfbackend
  3. apache-beam-testing.tfvars
  4. common.tfvars
  5. data.tf
  6. network.tf
  7. provider.tf
  8. README.md
  9. state.tf
  10. variables.tf
.test-infra/pipelines/infrastructure/02.network/README.md

Overview

This directory provisions Google Cloud project networking for Dataflow usage.

List of all provision GCP resources

The following table lists all provisioned resources and their rationale.

resourcereason
NetworkRun workload in its isolated GCP VPC
SubnetworkWorker needs at least one subnetwork
Firewall RulesLimit traffic to Worker service account VMS

Usage

Follow terraform workflow convention to apply this module. It assumes the working directory is at .test-infra/pipelines

Terraform Init

This module uses a Google Cloud Storage bucket backend.

Initialize the terraform workspace for the apache-beam-testing project:

DIR=infrastructure/02.network
terraform -chdir=$DIR init -backend-config=apache-beam-testing.tfbackend

or for your own Google Cloud project:

DIR=infrastructure/02.network
terraform init -backend-config=path/to/your/backend-config-file.tfbackend

where your backend-config-file.tfbackend contains:

bucket = <Google Cloud Storage Bucket Name>

Terraform Apply

Notice the -var-file flag referencing common.tfvars that provides opinionated variable defaults.

For apache-beam-testing:

DIR=infrastructure/02.network
terraform -chdir=$DIR apply -var-file=common.tfvars -var-file=apache-beam-testing.tfvars

or for your own Google Cloud project:

DIR=infrastructure/02.network
terraform -chdir=$DIR apply -var-file=common.tfvars