Skip to content

GoogleCloudPlatform/terraform-google-tf-cloud-agents

Repository files navigation

terraform-google-terraform-cloud-agents

Creates self hosted Terraform Cloud agents on Google Cloud. Using these Terraform modules you can quickly deploy agent pools for your Terraform Cloud workflows.

The tfc-agent-gke module provisions the resources required to deploy self hosted Terraform Cloud agents on Google Cloud infrastructure using Google Kubernetes Engine (GKE).

This includes

  • Enabling necessary APIs
  • VPC
  • GKE Cluster
  • Kubernetes Secret

Below are some examples:

The tfc-agent-mig-vm module provisions the resources required to deploy Terrform Cloud agent on Google Cloud infrastructure using Managed Instance Groups (MIG).

This includes

  • Enabling necessary APIs
  • VPC
  • NAT & Cloud Router
  • Service Account for MIG
  • MIG Instance Template
  • MIG Instance Manager
  • FW Rules
  • Secret Manager Secret

Deployment of Managed Instance Groups requires a Google VM image with a startup script that downloads and configures the agent or a pre-baked image with the agent installed.

Below are some examples:

The tfc-agent-mig-container-vm module provisions the resources required to deploy Terraform Cloud agents on Google Cloud infrastructure using Managed Instance Groups and Container VMs.

This includes

  • Enabling necessary APIs
  • VPC
  • NAT & Cloud Router
  • MIG Container Instance Template
  • MIG Instance Manager
  • FW Rules

Below are some examples:

The tfc-oidc module handles the opinionated creation of infrastructure necessary to configure Workload Identity pools and providers for authenticating to GCP using Terraform Cloud Dynamic Credentials.

This includes

  • Enabling necessary APIs
  • Creation of a Workload Identity pool
  • Configuring a Workload Identity provider
  • Granting external identities necessary IAM roles on Service Accounts

Below are some examples:

  • OIDC Simple - This example shows how to use this module along with a Service Account to access storage buckets.

Requirements

These sections describe requirements for using this module.

Software

The following dependencies might be required based on the module being used:

Contributing

Refer to the contribution guidelines for information on contributing to this module.

Security Disclosures

Please see our security disclosure process.