{"id":16648690,"url":"https://github.com/makukha/terraform-gcp-setup","last_synced_at":"2026-06-19T18:33:30.214Z","repository":{"id":196245246,"uuid":"695290760","full_name":"makukha/terraform-gcp-setup","owner":"makukha","description":"Terraform module to setup Google Cloud Platform service account and backend bucket","archived":false,"fork":false,"pushed_at":"2023-09-23T22:22:00.000Z","size":15,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T10:46:08.344Z","etag":null,"topics":["google","google-cloud","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/makukha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-22T19:29:20.000Z","updated_at":"2023-09-23T22:47:07.000Z","dependencies_parsed_at":"2023-12-01T06:44:01.356Z","dependency_job_id":null,"html_url":"https://github.com/makukha/terraform-gcp-setup","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"b4436a68adc3b02492dda3a13b99d4a7792ebd70"},"previous_names":["makukha/terraform-gcp-setup"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/makukha/terraform-gcp-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makukha%2Fterraform-gcp-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makukha%2Fterraform-gcp-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makukha%2Fterraform-gcp-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makukha%2Fterraform-gcp-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makukha","download_url":"https://codeload.github.com/makukha/terraform-gcp-setup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makukha%2Fterraform-gcp-setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34544404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"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":["google","google-cloud","terraform","terraform-module"],"created_at":"2024-10-12T09:05:15.728Z","updated_at":"2026-06-19T18:33:30.197Z","avatar_url":"https://github.com/makukha.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-gcp-setup\n\nTerraform module to setup Google Cloud Platform service account and backend bucket.\n\nThis module requires:\n\n1. Existing Google Cloud project with billing enabled.\n2. Google account that has owner permissions to this project.\n3. IAM group that will be granted permissions to impersonate service account.\n\nThis module:\n\n1. Creates service account with minimal permissions.\n2. Creates storage bucket with admin permissions granted to both new service account and project owner account.\n3. Grants permissions to impersonate srvice account to IAM group.\n4. Enables Google Cloud services necessary to run steps above.\n\n\n## Simple usage\n\nSee also `examples/full`.\n\n1. [Install Google Cloud CLI](https://cloud.google.com/sdk/docs/install-sdk)\n\n2. Authenticate to Google Cloud and create application default credentials:\n\n    ```bash\n    gcloud auth login \n    gcloud auth application-default login\n    ```\n\n3. Create sample project:\n\n    ```bash\n    gcloud projects create --name=\"Sample project\"\n    ```\n\n   Note the generated project id, it will be referenced as `${PROJECT_ID}` below.\n\n4. [Enable billing](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project) for the project `${PROJECT_ID}`\n\n5. Create IAM group and add yourself to the group. Note the group name, it will be referenced below as `${PROJECT_DEVOPS_GROUP}`.\n\n6. Create root module files:\n\n    * `main.tf`\n\n        ```hcl-terraform\n        provider \"google\" {}\n\n        terraform {\n          backend \"local\" {}\n        }\n\n        module \"setup\" {\n          source = \"github.com/makukha/terraform-gcp-setup\"\n          project_id = \"${PROJECT_ID}\"\n          project_devops_group = \"${PROJECT_DEVOPS_GROUP}\"\n          state_bucket_location = \"europe-west1\"\n          state_bucket_name = \"${PROJECT_ID}-tfstate\"\n        }\n        ```\n\n    * `outputs.tf`\n\n        ```hcl-terraform\n        output \"all\" {\n          value = module.setup\n        }\n        ```\n\n7. Init, check, apply, see outputs:\n\n    ```bash\n    terraform init\n    terraform plan\n    terraform apply\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakukha%2Fterraform-gcp-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakukha%2Fterraform-gcp-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakukha%2Fterraform-gcp-setup/lists"}