This PR updates all modules to remove maintainer_github field from
frontmatter.
I also updated a few modules to 1.0.31 to be later than the latest
general release on coder/modules.
⚠️ Modules Without Git Tags:
- coder/aws-region (README: v1.0.12) SHOULD BE: 1.0.31 Missed Tag
- coder/azure-region (README: v1.0.12) SHOULD BE: 1.0.31 Missed Tag
- coder/coder-login (README: v1.0.15) SHOULD BE: 1.0.31 Missed Tag
- coder/devcontainers-cli (README: v1.0.3) SHOULD BE: 1.0.31 Missed Tag
- coder/fly-region (README: v1.0.2) SHOULD BE: 1.0.31 Missed Tag
- coder/gcp-region (README: v1.0.12) SHOULD BE: 1.0.31 Missed Tag
- coder/git-commit-signing (README: v1.0.11) SHOULD BE: 1.0.31 Missed
Tag
- coder/git-config (README: v1.0.15) SHOULD BE: 1.0.31 Missed Tag
- coder/github-upload-public-key (README: v1.0.15) SHOULD BE: 1.0.31
Missed Tag
- coder/jfrog-oauth (README: v1.0.19) SHOULD BE: 1.0.31 Missed Tag
- coder/jfrog-token (README: v1.0.30) SHOULD BE: 1.0.31 Missed Tag
- coder/personalize (README: v1.0.2) SHOULD BE: 1.0.31 Missed Tag
- coder/slackme (README: v1.0.2) SHOULD BE: 1.0.31 Missed Tag
- coder/vault-github (README: v1.0.7) SHOULD BE: 1.0.31 Missed Tag
- coder/vault-jwt (README: v1.1.0) Missed Tag but correct
All of these modules have not been tagged since the move from
coder/modules. I believe they all need to move to 1.0.31 to outpace the
latest published general version from coder/modules.
Modules Updated:
- coder/agentapi: v1.0.0 → v1.0.1
- coder/aider: v1.1.0 → v1.1.1
- coder/amazon-dcv-windows: v1.1.0 → v1.1.1
- coder/amazon-q: v1.1.0 → v1.1.1
- coder/aws-region: v1.0.12 → v1.0.31
- coder/azure-region: v1.0.12 → v1.0.31
- coder/claude-code: v2.0.2 → v2.0.3
- coder/coder-login: v1.0.15 → v1.0.31
- coder/code-server: v1.3.0 → v1.3.1
- coder/cursor: v1.2.0 → v1.2.1
- coder/devcontainers-cli: v1.0.3 → v1.0.31
- coder/dotfiles: v1.2.0 → v1.2.1
- coder/filebrowser: v1.1.1 → v1.1.2
- coder/fly-region: v1.0.2 → v1.0.31
- coder/gcp-region: v1.0.12 → v1.0.31
- coder/git-clone: v1.1.0 → v1.1.1
- coder/git-commit-signing: v1.0.11 → v1.0.31
- coder/git-config: v1.0.15 → v1.0.31
- coder/github-upload-public-key: v1.0.15 → v1.0.31
- coder/goose: v2.0.0 → v2.0.1
- coder/hcp-vault-secrets: v1.0.32 → v1.0.33
- coder/jetbrains: v1.0.0 → v1.0.1
- coder/jetbrains-gateway: v1.2.1 → v1.2.2
- coder/jfrog-oauth: v1.0.19 → v1.0.31
- coder/jfrog-token: v1.0.30 → v1.0.31
- coder/jupyterlab: v1.1.0 → v1.1.1
- coder/jupyter-notebook: v1.1.0 → v1.1.1
- coder/kasmvnc: v1.2.0 → v1.2.1
- coder/local-windows-rdp: v1.0.1 → v1.0.2
- coder/personalize: v1.0.2 → v1.0.31
- coder/slackme: v1.0.2 → v1.0.31
- coder/vault-github: v1.0.7 → v1.0.31
- coder/vault-jwt: v1.1.0 → v1.1.1
- coder/vault-token: v1.2.0 → v1.2.1
- coder/vscode-desktop: v1.1.0 → v1.1.1
- coder/vscode-web: v1.3.0 → v1.3.1
- coder/windows-rdp: v1.2.2 → v1.2.3
- coder/windsurf: v1.1.0 → v1.1.1
- coder/zed: v1.0.0 → v1.0.1
63 lines
2.2 KiB
Markdown
63 lines
2.2 KiB
Markdown
---
|
|
display_name: Google Compute Engine (Windows)
|
|
description: Provision Google Compute Engine instances as Coder workspaces
|
|
icon: ../../../../.icons/gcp.svg
|
|
verified: true
|
|
tags: [vm, windows, gcp]
|
|
---
|
|
|
|
# Remote Development on Google Compute Engine (Windows)
|
|
|
|
## 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](https://registry.terraform.io/providers/hashicorp/google/latest/docs/guides/getting_started#adding-credentials).
|
|
|
|
Coder requires a Google Cloud Service Account to provision workspaces. To create
|
|
a service account:
|
|
|
|
1. Navigate to the [CGP
|
|
console](https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts/create),
|
|
and select your Cloud project (if you have more than one project associated
|
|
with your account)
|
|
|
|
1. Provide a service account name (this name is used to generate the service
|
|
account ID)
|
|
|
|
1. Click **Create and continue**, and choose the following IAM roles to grant to
|
|
the service account:
|
|
- Compute Admin
|
|
- Service Account User
|
|
|
|
Click **Continue**.
|
|
|
|
1. Click on the created key, and navigate to the **Keys** tab.
|
|
|
|
1. Click **Add key** > **Create new key**.
|
|
|
|
1. 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)
|
|
- GCP Disk (persistent, mounted to root)
|
|
|
|
Coder persists the root volume. The full filesystem is preserved when the workspace restarts. See this [community example](https://github.com/bpmct/coder-templates/tree/main/aws-linux-ephemeral) of an ephemeral AWS instance.
|
|
|
|
> **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`.
|