Skip to content

Commit 1fd3829

Browse files
authored
Merge pull request #946 from rust-lang/provision-dev-desktop-eu-2
provision dev-desktop-eu-2
2 parents b9d3fdb + cd19da3 commit 1fd3829

File tree

5 files changed

+96
-14
lines changed

5 files changed

+96
-14
lines changed

terragrunt/accounts/dev-desktops-prod/europe-west1/.terraform.lock.hcl

Lines changed: 64 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
terraform {
2+
source = "../../../modules//dev-desktops-gcp"
3+
}
4+
5+
include {
6+
path = find_in_parent_folders()
7+
merge_strategy = "deep"
8+
}
9+
10+
inputs = {
11+
project = "dev-desktops-prod"
12+
region = "europe-west1"
13+
zone = "europe-west1-b"
14+
instances = {
15+
"dev-desktop-eu-2" = {
16+
# vCPUs: 32, RAM: 64 GiB, AMD Milan.
17+
instance_type = "c2d-highcpu-32"
18+
storage = 2000
19+
}
20+
}
21+
}

terragrunt/modules/dev-desktops-gcp/_terraform.tf

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,6 @@ variable "zone" {
3333
type = string
3434
}
3535

36-
# A dedicated network keeps dev-desktop traffic isolated from other services.
37-
variable "network_name" {
38-
description = "The VPC network name for dev desktops"
39-
type = string
40-
default = "dev-desktops"
41-
}
42-
4336
variable "subnet_cidr" {
4437
description = "The IPv4 CIDR range for the dev desktops subnet"
4538
type = string
@@ -56,3 +49,7 @@ variable "instances" {
5649
storage = number
5750
}))
5851
}
52+
53+
locals {
54+
network_name = "dev-desktops-${var.region}"
55+
}

terragrunt/modules/dev-desktops-gcp/firewall.tf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Ingress rules mirror AWS/Azure dev-desktop access (SSH, mosh, ping).
22
resource "google_compute_firewall" "dev_desktops_access_ipv4" {
3-
name = "${var.network_name}-access-ipv4"
3+
name = "${local.network_name}-access-ipv4"
44
network = google_compute_network.dev_desktops.id
55

66
target_tags = ["dev-desktops"]
@@ -28,7 +28,7 @@ resource "google_compute_firewall" "dev_desktops_access_ipv4" {
2828

2929
# IPv6 ingress rules mirror IPv4 access (SSH, mosh, ping).
3030
resource "google_compute_firewall" "dev_desktops_access_ipv6" {
31-
name = "${var.network_name}-access-ipv6"
31+
name = "${local.network_name}-access-ipv6"
3232
network = google_compute_network.dev_desktops.id
3333

3434
target_tags = ["dev-desktops"]
@@ -57,7 +57,7 @@ resource "google_compute_firewall" "dev_desktops_access_ipv6" {
5757

5858
# Allow Prometheus node_exporter scraping from monitoring.infra.rust-lang.org.
5959
resource "google_compute_firewall" "dev_desktops_node_exporter" {
60-
name = "${var.network_name}-node-exporter"
60+
name = "${local.network_name}-node-exporter"
6161
network = google_compute_network.dev_desktops.id
6262

6363
target_tags = ["dev-desktops"]
@@ -72,7 +72,7 @@ resource "google_compute_firewall" "dev_desktops_node_exporter" {
7272

7373
# Explicit egress rule documents intent for full outbound connectivity.
7474
resource "google_compute_firewall" "dev_desktops_egress_ipv4" {
75-
name = "${var.network_name}-egress-ipv4"
75+
name = "${local.network_name}-egress-ipv4"
7676
network = google_compute_network.dev_desktops.id
7777
direction = "EGRESS"
7878

@@ -85,7 +85,7 @@ resource "google_compute_firewall" "dev_desktops_egress_ipv4" {
8585

8686
# IPv6 egress rule documents intent for full outbound connectivity.
8787
resource "google_compute_firewall" "dev_desktops_egress_ipv6" {
88-
name = "${var.network_name}-egress-ipv6"
88+
name = "${local.network_name}-egress-ipv6"
8989
network = google_compute_network.dev_desktops.id
9090
direction = "EGRESS"
9191

terragrunt/modules/dev-desktops-gcp/network.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ resource "google_project_service" "compute" {
55

66
# Dedicated VPC to isolate dev desktops from other GCP workloads.
77
resource "google_compute_network" "dev_desktops" {
8-
name = var.network_name
8+
name = local.network_name
99
# For ipv6 support we need custom subnets
1010
auto_create_subnetworks = false
1111

@@ -14,7 +14,7 @@ resource "google_compute_network" "dev_desktops" {
1414

1515
# Dual-stack subnet to support both external IPv4 and IPv6 addresses.
1616
resource "google_compute_subnetwork" "dev_desktops" {
17-
name = "${var.network_name}-${var.region}"
17+
name = local.network_name
1818
ip_cidr_range = var.subnet_cidr
1919
region = var.region
2020

0 commit comments

Comments
 (0)