{"id":21130972,"url":"https://github.com/workloads/regional-workspaces","last_synced_at":"2026-04-16T11:04:40.567Z","repository":{"id":153563932,"uuid":"590389006","full_name":"workloads/regional-workspaces","owner":"workloads","description":"Terraform-managed Regional HCP Terraform Workspaces","archived":false,"fork":false,"pushed_at":"2024-08-27T23:58:29.000Z","size":243,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-14T12:15:18.300Z","etag":null,"topics":["aws","terraform"],"latest_commit_sha":null,"homepage":"https://app.terraform.io/app/workloads/regional-workspaces","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/workloads.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-18T09:55:12.000Z","updated_at":"2024-08-27T23:58:32.000Z","dependencies_parsed_at":"2023-10-13T03:19:41.767Z","dependency_job_id":"2a96af40-bfc8-426a-a168-f8aa11b864e4","html_url":"https://github.com/workloads/regional-workspaces","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/workloads/regional-workspaces","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fregional-workspaces","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fregional-workspaces/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fregional-workspaces/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fregional-workspaces/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/workloads","download_url":"https://codeload.github.com/workloads/regional-workspaces/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fregional-workspaces/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272160241,"owners_count":24883779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","terraform"],"created_at":"2024-11-20T05:42:57.112Z","updated_at":"2026-04-16T11:04:35.546Z","avatar_url":"https://github.com/workloads.png","language":"HCL","readme":"# HCP Terraform Workspace `regional-workspaces`\n\n\u003e This repository manages regional (and provider-specific) HCP Terraform Workspaces for [@workloads](https://github.com/workloads).\n\n## Table of Contents\n\n\u003c!-- TOC --\u003e\n* [HCP Terraform Workspace `regional-workspaces`](#hcp-terraform-workspace-regional-workspaces)\n  * [Table of Contents](#table-of-contents)\n  * [Requirements](#requirements)\n    * [Development](#development)\n  * [Diagrams](#diagrams)\n    * [HCP Terraform Workspace Structure](#hcp-terraform-workspace-structure)\n  * [Usage](#usage)\n    * [Inputs](#inputs)\n    * [Outputs](#outputs)\n  * [Notes](#notes)\n    * [Updating Azure Regions File](#updating-azure-regions-file)\n  * [Contributors](#contributors)\n  * [License](#license)\n\u003c!-- TOC --\u003e\n\n## Requirements\n\n- HCP Terraform [Account](https://app.terraform.io/session)\n- HashiCorp Terraform `1.9.x` or [newer](https://developer.hashicorp.com/terraform/downloads)\n\n### Development\n\nFor development and testing of this repository:\n\n- `terraform-docs` `0.18.0` or [newer](https://terraform-docs.io/user-guide/installation/)\n\n## Diagrams\n\nThis section contains an overview of (simplified) diagrams, describing the logical connections of the individual HCP Terraform Workspaces.\nAll diagrams are expressed in [Mermaid](https://mermaid.js.org) syntax.\n\n### HCP Terraform Workspace Structure\n\nThis diagram describes the [HCP Terraform Workspaces](https://developer.hashicorp.com/terraform/cloud-docs/workspaces) structure:\n\n```mermaid\nflowchart TD\n  seed_workspace[\"HCP Terraform Workspace `regional-workspaces`\"]\n  seed_workspace --- csp_configuration[\"CSP Configuration Object\"]\n\n  %% Cloud Service Providers\n  csp_configuration --- aws((\"AWS\"))\n  csp_configuration --- azure((\"Azure\"))\n  csp_configuration --- google((\"GCP\"))\n  csp_configuration --- others((\"other CSPs\"))\n\n  %% Regional Operations\n  workspace[\"per-region TFC Workspace\"]\n\n  aws    --- workspace\n  azure  --- workspace\n  google --- workspace\n  others --- workspace\n\n  workspace --- nomad_agent[\"per-AZ Nomad Agent(s)\"]\n\n  %% Styling\n  classDef workspace color: #ffffff, fill: #844FBA, stroke: #844FBA\n  class seed_workspace workspace;\n  class workspace workspace;\n\n  style csp_configuration color: #ffffff, stroke: #844FBA\n\n  style aws    color: #000000, fill: #ff9900, stroke: #ff9900\n  style azure  color: #ffffff, fill: #008ad7, stroke: #008ad7\n  style google color: #000000, fill: #db4437, stroke: #db4437\n  style others color: #ffffff, fill: #282433, stroke: #282433\n\n  style nomad_agent color: #000000, fill: #60dea9, stroke: #60dea9\n```\n\n## Usage\n\nThe `regional-workspaces` HCP Terraform Workspace acts as a bootstrapper for CSP-specific and regional HCP Terraform Workspaces.\n\nThis repository uses a standard Terraform workflow (`init`, `plan`, `apply`).\n\nFor more information, including detailed usage guidelines, see the [Terraform documentation](https://developer.hashicorp.com/terraform/cli/commands).\n\nAdditional workflows are available through a [Makefile](./Makefile).\n\nRunning `make` without commands will print out the following help information:\n\n```text\n🌐 REGIONAL HCP TERRAFORM WORKSPACES\n\nTarget                        Description                                                  Usage\nget-az-subscription           get Azure Subscription to currently logged-in Account        `make get-az-subscription`\nset-az-subscription           set Azure CLI Subscription to currently logged-in Account    `make set-az-subscription`\ncreate-az-service-principal   create Azure Service Principal                               `make create-az-service-principal`\nlist-az-locations             retrieve and format a list of available Azure Locations      `make list-az-locations update_file=true`\nhelp                          display a list of Make Targets                               `make help`\n_listincludes                 list all included Makefiles and *.mk files                   `make _listincludes`\n_selfcheck                    lint Makefile                                                `make _selfcheck`\n```\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n### Inputs\n\n| Name | Description | Type | Required |\n|------|-------------|------|:--------:|\n| csp_configuration | Project-wide List of Cloud Service Providers (CSPs). | \u003cpre\u003elist(object({\u003cbr\u003e    name    = string\u003cbr\u003e    prefix  = string\u003cbr\u003e    enabled = bool\u003cbr\u003e  }))\u003c/pre\u003e | yes |\n| google_credentials | The credentials to use for authenticating with GCP. | `string` | yes |\n| google_project_id | The Project ID to use for authenticating with GCP. | `string` | yes |\n| management_region_aws | AWS-specific `Management` Region Identifier. | `string` | yes |\n| management_region_gcp | Google-specific `Management` Region Identifier. | `string` | yes |\n| terraform_version | Version of Terraform to use for HCP Terraform. | `string` | yes |\n| tfe_oauth_client_id | VCS Provider OAuth Client Identifier. | `string` | yes |\n| tfe_organization | Name of HCP Terraform Organization. | `string` | yes |\n\n### Outputs\n\n| Name | Description |\n|------|-------------|\n| aws_regions | Exported Values of `data.aws_regions.main`. |\n| aws_workspace_urls | AWS-specific Regional Workspace URLs. |\n| csp_configuration | Exported value of `local.csp_configuration`. |\n| google_regions | Exported Values of `data.google_compute_regions.main`. |\n\u003c!-- END_TF_DOCS --\u003e\n\n## Notes\n\n### Updating Azure Regions File\n\nThe Azure Regions file ([`./variables_azure_locations.json`](./variables_azure_locations.json)) can be updated by executing the `list-az-locations` target while setting the `update_file` flag to `true`:\n\n```shell\nmake list-az-locations update_file=true\n```\n\n## Contributors\n\nFor a list of current (and past) contributors to this repository, see [GitHub](https://github.com/workloads/regional-workspaces/graphs/contributors).\n\n## License\n\nLicensed under the Apache License, Version 2.0 (the \"License\").\n\nYou may download a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0).\n\nSee the License for the specific language governing permissions and limitations under the License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkloads%2Fregional-workspaces","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworkloads%2Fregional-workspaces","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkloads%2Fregional-workspaces/lists"}