Bumps [terraform-google-modules/container-vm/google](https://github.com/terraform-google-modules/terraform-google-container-vm) from 3.2.0 to 3.3.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/terraform-google-modules/terraform-google-container-vm/releases">terraform-google-modules/container-vm/google's releases</a>.</em></p> <blockquote> <h2>v3.3.0</h2> <h2><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.2.0...v3.3.0">3.3.0</a> (2026-03-06)</h2> <h3>Features</h3> <ul> <li><strong>deps:</strong> Update Terraform Google Provider to v7 (major) (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/151">#151</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/25aeb5e8eb9525fdac47cfeb79eb7b20295d9a10">25aeb5e</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>TF>=1.3:</strong> Update cft/developer-tools Docker tag to v1.25 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/145">#145</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/49bb1a86c908b8a626b78977d83b1c01f3b5e39b">49bb1a8</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/terraform-google-modules/terraform-google-container-vm/blob/main/CHANGELOG.md">terraform-google-modules/container-vm/google's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.2.0...v3.3.0">3.3.0</a> (2026-03-06)</h2> <h3>Features</h3> <ul> <li><strong>deps:</strong> Update Terraform Google Provider to v7 (major) (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/151">#151</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/25aeb5e8eb9525fdac47cfeb79eb7b20295d9a10">25aeb5e</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>TF>=1.3:</strong> Update cft/developer-tools Docker tag to v1.25 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/145">#145</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/49bb1a86c908b8a626b78977d83b1c01f3b5e39b">49bb1a8</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/ab943364f6add0de89de1d3c79ca23e6852e5a12"><code>ab94336</code></a> chore(main): release 3.3.0 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/152">#152</a>)</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/10d2424042cc02a4d3efff00db9b33d7e48f4452"><code>10d2424</code></a> chore: Migrate gsutil usage to gcloud storage (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/159">#159</a>)</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/f15666132398848678ba5fd299d7ff36cb46be67"><code>f156661</code></a> chore: update .github/workflows/lint.yaml</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/1a9a202d61c2663333d943bc08badaef427aa2c4"><code>1a9a202</code></a> chore: update .github/workflows/lint.yaml</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/9c708636cc9655b257b374773ea0068813fb736c"><code>9c70863</code></a> chore: update .github/workflows/stale.yml</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/df594b380ee57cb246d02c188d0189ecdda04c0f"><code>df594b3</code></a> chore: update .github/workflows/stale.yml</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/83a8daf400c4980e28e800b2b28f0c9690ce962c"><code>83a8daf</code></a> chore: update .github/workflows/lint.yaml</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/ab4a4eb85321af9db8b0ebfd64d80925441c0931"><code>ab4a4eb</code></a> chore: update .github/workflows/lint.yaml</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/604cf93040d5cc3b5e671c6eff9b7e1db4c0d60b"><code>604cf93</code></a> chore: update .github/workflows/lint.yaml</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/4016c71b40be077379b38cf549c04382ceee3d82"><code>4016c71</code></a> chore: update .github/workflows/lint.yaml</li> <li>Additional commits viewable in <a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.2.0...v3.3.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
display_name, description, icon, maintainer_github, verified, tags
| display_name | description | icon | maintainer_github | verified | tags | |||
|---|---|---|---|---|---|---|---|---|
| Google Compute Engine (VM Container) | Provision Google Compute Engine instances as Coder workspaces | ../../../site/static/icon/gcp.png | coder | true |
|
Remote Development on Google Compute Engine (VM Container)
Prerequisites
Authentication
This template assumes that coderd is run in an environment that is authenticated
with Google Cloud. For example, run gcloud auth application-default login to
import credentials on the system and user running coderd. For other ways to
authenticate consult the Terraform
docs.
Coder requires a Google Cloud Service Account to provision workspaces. To create a service account:
-
Navigate to the CGP console, and select your Cloud project (if you have more than one project associated with your account)
-
Provide a service account name (this name is used to generate the service account ID)
-
Click Create and continue, and choose the following IAM roles to grant to the service account:
- Compute Admin
- Service Account User
Click Continue.
-
Click on the created key, and navigate to the Keys tab.
-
Click Add key > Create new key.
-
Generate a JSON private key, which will be what you provide to Coder during the setup process.
Architecture
This template provisions the following resources:
- GCP VM (ephemeral, deleted on stop)
- Container in VM
- Managed disk (persistent, mounted to
/home/coderin container)
This means, when the workspace restarts, any tools or files outside of the home directory are not persisted. To pre-bake tools into the workspace (e.g. python3), modify the container image, or use a startup script.
Note
This template is designed to be a starting point! Edit the Terraform to extend the template to support your use case.
code-server
code-server is installed via the startup_script argument in the coder_agent
resource block. The coder_app resource is defined to access code-server through
the dashboard UI over localhost:13337.