mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
7c66dcd238
Bumps [terraform-google-modules/container-vm/google](https://github.com/terraform-google-modules/terraform-google-container-vm) from 3.0.0 to 3.2.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.2.0</h2> <h2><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.1.1...v3.2.0">3.2.0</a> (2024-08-29)</h2> <h3>Features</h3> <ul> <li><strong>deps:</strong> Update Terraform Google Provider to v6 (major) (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/138">#138</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/b8065338e38b51230f06aec573a2f8027c30c566">b806533</a>)</li> </ul> <h2>v3.1.1</h2> <h2><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.1.0...v3.1.1">3.1.1</a> (2024-01-08)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>deps:</strong> lint updates for cft/developer-tools v1.18 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/123">#123</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/2d57bef2f9ff75f5ca0a0b7f5d21985b823be1a6">2d57bef</a>)</li> <li>upgraded versions.tf to include minor bumps from tpg v5 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/118">#118</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/14fcdf3463b254098a5bc4a6e01003b3eee2d75c">14fcdf3</a>)</li> </ul> <h2>v3.1.0</h2> <h2><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.0.1...v3.1.0">3.1.0</a> (2022-09-19)</h2> <h3>Features</h3> <ul> <li>expose cos_project variable (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/91">#91</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/b32263d30cf2a61d20ddbca94733bf3abfb7a446">b32263d</a>)</li> </ul> <h2>v3.0.1</h2> <h2><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.0.0...v3.0.1">3.0.1</a> (2022-07-20)</h2> <h3>Bug Fixes</h3> <ul> <li>restart policy kills konlet-startup container fix for the value Never (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/87">#87</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/fcbdafa2d5b00792c388dcda1e1715f5e2a615e6">fcbdafa</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.1.1...v3.2.0">3.2.0</a> (2024-08-29)</h2> <h3>Features</h3> <ul> <li><strong>deps:</strong> Update Terraform Google Provider to v6 (major) (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/138">#138</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/b8065338e38b51230f06aec573a2f8027c30c566">b806533</a>)</li> </ul> <h2><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.1.0...v3.1.1">3.1.1</a> (2024-01-08)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>deps:</strong> lint updates for cft/developer-tools v1.18 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/123">#123</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/2d57bef2f9ff75f5ca0a0b7f5d21985b823be1a6">2d57bef</a>)</li> <li>upgraded versions.tf to include minor bumps from tpg v5 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/118">#118</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/14fcdf3463b254098a5bc4a6e01003b3eee2d75c">14fcdf3</a>)</li> </ul> <h2><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.0.1...v3.1.0">3.1.0</a> (2022-09-19)</h2> <h3>Features</h3> <ul> <li>expose cos_project variable (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/91">#91</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/b32263d30cf2a61d20ddbca94733bf3abfb7a446">b32263d</a>)</li> </ul> <h2><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.0.0...v3.0.1">3.0.1</a> (2022-07-20)</h2> <h3>Bug Fixes</h3> <ul> <li>restart policy kills konlet-startup container fix for the value Never (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/87">#87</a>) (<a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/fcbdafa2d5b00792c388dcda1e1715f5e2a615e6">fcbdafa</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/ceba2c777b5fbdc74debcbad63b02f94b6abcb60"><code>ceba2c7</code></a> chore(master): release 3.2.0 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/139">#139</a>)</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/b8065338e38b51230f06aec573a2f8027c30c566"><code>b806533</code></a> feat(deps): Update Terraform Google Provider to v6 (major) (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/138">#138</a>)</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/b9c7fdd2cd0bd09942440ac372fdee47bde57db9"><code>b9c7fdd</code></a> chore(deps): Update cft/developer-tools Docker tag to v1.22 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/136">#136</a>)</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/5efa4d20a97b4b30c4392bbf5d788e65f0dd51c7"><code>5efa4d2</code></a> chore(deps): Update cft/developer-tools Docker tag to v1.21 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/131">#131</a>)</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/d9045637650a82354f11b4d170b96f20b2a00167"><code>d904563</code></a> chore(deps): Update Terraform terraform-google-modules/project-factory/google...</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/30b7909f74ef3228daac07c771366e910059e9f5"><code>30b7909</code></a> chore(deps): Update Terraform terraform-google-modules/vm/google to v11 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/129">#129</a>)</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/5dc397e54a63e9ae63bc165a80e35b2a18ff6d99"><code>5dc397e</code></a> chore(deps): Update cft/developer-tools Docker tag to v1.19 (<a href="https://redirect.github.com/terraform-google-modules/terraform-google-container-vm/issues/128">#128</a>)</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/aefea73c5602277b4876e3b0d14f7aaa90151bcc"><code>aefea73</code></a> chore: update .github/workflows/lint.yaml</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/924324901e4219d7e4d72d8168b2f90dbc1d923b"><code>9243249</code></a> chore: update CODEOWNERS</li> <li><a href="https://github.com/terraform-google-modules/terraform-google-container-vm/commit/8361f4d105e415b166c1ddcbcc080ff31360058b"><code>8361f4d</code></a> chore: update .github/workflows/stale.yml</li> <li>Additional commits viewable in <a href="https://github.com/terraform-google-modules/terraform-google-container-vm/compare/v3.0.0...v3.2.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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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>
137 lines
3.8 KiB
Terraform
137 lines
3.8 KiB
Terraform
terraform {
|
|
required_providers {
|
|
coder = {
|
|
source = "coder/coder"
|
|
}
|
|
google = {
|
|
source = "hashicorp/google"
|
|
}
|
|
}
|
|
}
|
|
|
|
provider "coder" {}
|
|
|
|
variable "project_id" {
|
|
description = "Which Google Compute Project should your workspace live in?"
|
|
}
|
|
|
|
# https://registry.coder.com/modules/coder/gcp-region/coder
|
|
module "gcp_region" {
|
|
source = "registry.coder.com/coder/gcp-region/coder"
|
|
# This ensures that the latest non-breaking version of the module gets downloaded, you can also pin the module version to prevent breaking changes in production.
|
|
version = "~> 1.0"
|
|
regions = ["us", "europe"]
|
|
}
|
|
|
|
provider "google" {
|
|
zone = module.gcp_region.value
|
|
project = var.project_id
|
|
}
|
|
|
|
data "google_compute_default_service_account" "default" {}
|
|
|
|
data "coder_workspace" "me" {}
|
|
data "coder_workspace_owner" "me" {}
|
|
|
|
resource "coder_agent" "main" {
|
|
auth = "google-instance-identity"
|
|
arch = "amd64"
|
|
os = "linux"
|
|
startup_script = <<-EOT
|
|
set -e
|
|
|
|
# Add any commands that should be executed at workspace startup (e.g install requirements, start a program, etc) here
|
|
EOT
|
|
}
|
|
|
|
# See https://registry.coder.com/modules/coder/code-server
|
|
module "code-server" {
|
|
count = data.coder_workspace.me.start_count
|
|
source = "registry.coder.com/coder/code-server/coder"
|
|
|
|
# This ensures that the latest non-breaking version of the module gets downloaded, you can also pin the module version to prevent breaking changes in production.
|
|
version = "~> 1.0"
|
|
|
|
agent_id = coder_agent.main.id
|
|
order = 1
|
|
}
|
|
|
|
# See https://registry.coder.com/modules/coder/jetbrains-gateway
|
|
module "jetbrains_gateway" {
|
|
count = data.coder_workspace.me.start_count
|
|
source = "registry.coder.com/coder/jetbrains-gateway/coder"
|
|
|
|
# JetBrains IDEs to make available for the user to select
|
|
jetbrains_ides = ["IU", "PY", "WS", "PS", "RD", "CL", "GO", "RM"]
|
|
default = "IU"
|
|
|
|
# Default folder to open when starting a JetBrains IDE
|
|
folder = "/home/coder"
|
|
|
|
# This ensures that the latest non-breaking version of the module gets downloaded, you can also pin the module version to prevent breaking changes in production.
|
|
version = "~> 1.0"
|
|
|
|
agent_id = coder_agent.main.id
|
|
agent_name = "main"
|
|
order = 2
|
|
}
|
|
|
|
# See https://registry.terraform.io/modules/terraform-google-modules/container-vm
|
|
module "gce-container" {
|
|
source = "terraform-google-modules/container-vm/google"
|
|
version = "3.2.0"
|
|
|
|
container = {
|
|
image = "codercom/enterprise-base:ubuntu"
|
|
command = ["sh"]
|
|
args = ["-c", coder_agent.main.init_script]
|
|
securityContext = {
|
|
privileged : true
|
|
}
|
|
}
|
|
}
|
|
|
|
resource "google_compute_instance" "dev" {
|
|
zone = module.gcp_region.value
|
|
count = data.coder_workspace.me.start_count
|
|
name = "coder-${lower(data.coder_workspace_owner.me.name)}-${lower(data.coder_workspace.me.name)}"
|
|
machine_type = "e2-medium"
|
|
network_interface {
|
|
network = "default"
|
|
access_config {
|
|
// Ephemeral public IP
|
|
}
|
|
}
|
|
boot_disk {
|
|
initialize_params {
|
|
image = module.gce-container.source_image
|
|
}
|
|
}
|
|
service_account {
|
|
email = data.google_compute_default_service_account.default.email
|
|
scopes = ["cloud-platform"]
|
|
}
|
|
metadata = {
|
|
"gce-container-declaration" = module.gce-container.metadata_value
|
|
}
|
|
labels = {
|
|
container-vm = module.gce-container.vm_container_label
|
|
}
|
|
}
|
|
|
|
resource "coder_agent_instance" "dev" {
|
|
count = data.coder_workspace.me.start_count
|
|
agent_id = coder_agent.main.id
|
|
instance_id = google_compute_instance.dev[0].instance_id
|
|
}
|
|
|
|
resource "coder_metadata" "workspace_info" {
|
|
count = data.coder_workspace.me.start_count
|
|
resource_id = google_compute_instance.dev[0].id
|
|
|
|
item {
|
|
key = "image"
|
|
value = module.gce-container.container.image
|
|
}
|
|
}
|