https://github.com/googlecloudplatform/terraform-google-tf-cloud-agents
Creates self-hosted Terraform Cloud Agent on Google Cloud
https://github.com/googlecloudplatform/terraform-google-tf-cloud-agents
cft-terraform developer-tools operations security-identity
Last synced: 4 months ago
JSON representation
Creates self-hosted Terraform Cloud Agent on Google Cloud
- Host: GitHub
- URL: https://github.com/googlecloudplatform/terraform-google-tf-cloud-agents
- Owner: GoogleCloudPlatform
- License: apache-2.0
- Created: 2023-06-29T21:05:04.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-07T03:26:23.000Z (6 months ago)
- Last Synced: 2024-12-18T08:41:30.125Z (6 months ago)
- Topics: cft-terraform, developer-tools, operations, security-identity
- Language: HCL
- Homepage: https://registry.terraform.io/modules/GoogleCloudPlatform/tf-cloud-agents/google
- Size: 163 KB
- Stars: 16
- Watchers: 13
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# 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.
## [Terraform Cloud agents on GKE](modules/tfc-agent-gke/README.md)
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:*
- [Terraform Cloud agents on GKE](examples/tfc-agent-gke-simple/README.md) - This example shows how to deploy the Terraform Cloud agent on GKE.
- [Terraform Cloud agents on GKE with a custom image](examples/tfc-agent-gke-custom/README.md) - This example shows how to deploy a custom built Terraform Cloud agent image on GKE.## [Terraform Cloud agents on Managed Instance Groups using VMs](modules/tfc-agent-mig-vm/README.md)
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 SecretDeployment of Managed Instance Groups requires a [Google VM image](https://cloud.google.com/compute/docs/images) with a startup script that downloads and configures the agent or a pre-baked image with the agent installed.
*Below are some examples:*
- [Terraform Cloud agents on MIG VMs](examples/tfc-agent-mig-vm-simple/README.md) - This example shows how to deploy the Terraform Cloud agent on MIG with startup scripts.
- [Terraform Cloud agents on MIG VMs from Packer image](examples/tfc-agent-mig-vm-packer/README.md) - This example shows how to deploy the Terraform Cloud agent with an image pre-baked using Packer.## [Terraform Cloud agents Instance Groups using Container VMs](modules/tfc-agent-mig-container-vm/README.md)
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:*
- [Terraform Cloud agents on MIG Container VMs](examples/tfc-agent-mig-container-vm-simple/README.md) - This example shows how to deploy a Terraform Cloud agent on MIG Container VMs.
## [Terraform Cloud OIDC (Dynamic Credentials)](modules/tfc-oidc/README.md)
The `tfc-oidc` module handles the opinionated creation of infrastructure necessary to configure [Workload Identity pools](https://cloud.google.com/iam/docs/workload-identity-federation#pools) and [providers](https://cloud.google.com/iam/docs/workload-identity-federation#providers) for authenticating to GCP using [Terraform Cloud Dynamic Credentials](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/dynamic-provider-credentials/gcp-configuration).
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](examples/oidc-simple/README.md) - 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:
- [Terraform CLI][terraform-cli]
- [Terraform Provider for GCP][terraform-provider-gcp]
- [Terraform Provider for GCP beta][terraform-provider-gcp-beta]
- [Google Cloud CLI][gcloud-cli]
- [Kubernetes Provider][k8s-provider]
- [Random Provider][random-provider]## Contributing
Refer to the [contribution guidelines](./CONTRIBUTING.md) for
information on contributing to this module.[iam-module]: https://registry.terraform.io/modules/terraform-google-modules/iam/google
[project-factory-module]: https://registry.terraform.io/modules/terraform-google-modules/project-factory/google
[terraform-provider-gcp]: https://www.terraform.io/docs/providers/google/index.html
[terraform-provider-gcp-beta]: https://registry.terraform.io/providers/hashicorp/google-beta/latest
[terraform-cli]: https://www.terraform.io/downloads.html
[gcloud-cli]: https://cloud.google.com/sdk/gcloud
[k8s-provider]: https://registry.terraform.io/providers/hashicorp/kubernetes/latest
[random-provider]: https://registry.terraform.io/providers/hashicorp/random/latest## Security Disclosures
Please see our [security disclosure process](./SECURITY.md).