Skip to content

Commit 613117b

Browse files
authored
chore: add presets with prebuilds to our dogfood template (#17933)
This PR adds a preset with prebuilds for each region to our dogfood template. Creating a workspace based on a preset should now save time compared to creating a workspace from scratch
1 parent e5758a1 commit 613117b

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

dogfood/coder/main.tf

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,81 @@ locals {
3030
container_name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
3131
}
3232

33+
data "coder_workspace_preset" "cpt" {
34+
name = "Cape Town"
35+
parameters = {
36+
(data.coder_parameter.region.name) = "za-cpt"
37+
(data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest"
38+
(data.coder_parameter.repo_base_dir.name) = "~"
39+
(data.coder_parameter.res_mon_memory_threshold.name) = 80
40+
(data.coder_parameter.res_mon_volume_threshold.name) = 90
41+
(data.coder_parameter.res_mon_volume_path.name) = "/home/coder"
42+
}
43+
prebuilds {
44+
instances = 1
45+
}
46+
}
47+
48+
data "coder_workspace_preset" "pittsburgh" {
49+
name = "Pittsburgh"
50+
parameters = {
51+
(data.coder_parameter.region.name) = "us-pittsburgh"
52+
(data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest"
53+
(data.coder_parameter.repo_base_dir.name) = "~"
54+
(data.coder_parameter.res_mon_memory_threshold.name) = 80
55+
(data.coder_parameter.res_mon_volume_threshold.name) = 90
56+
(data.coder_parameter.res_mon_volume_path.name) = "/home/coder"
57+
}
58+
prebuilds {
59+
instances = 2
60+
}
61+
}
62+
63+
data "coder_workspace_preset" "falkenstein" {
64+
name = "Falkenstein"
65+
parameters = {
66+
(data.coder_parameter.region.name) = "eu-helsinki"
67+
(data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest"
68+
(data.coder_parameter.repo_base_dir.name) = "~"
69+
(data.coder_parameter.res_mon_memory_threshold.name) = 80
70+
(data.coder_parameter.res_mon_volume_threshold.name) = 90
71+
(data.coder_parameter.res_mon_volume_path.name) = "/home/coder"
72+
}
73+
prebuilds {
74+
instances = 1
75+
}
76+
}
77+
78+
data "coder_workspace_preset" "sydney" {
79+
name = "Sydney"
80+
parameters = {
81+
(data.coder_parameter.region.name) = "ap-sydney"
82+
(data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest"
83+
(data.coder_parameter.repo_base_dir.name) = "~"
84+
(data.coder_parameter.res_mon_memory_threshold.name) = 80
85+
(data.coder_parameter.res_mon_volume_threshold.name) = 90
86+
(data.coder_parameter.res_mon_volume_path.name) = "/home/coder"
87+
}
88+
prebuilds {
89+
instances = 1
90+
}
91+
}
92+
93+
data "coder_workspace_preset" "saopaulo" {
94+
name = "São Paulo"
95+
parameters = {
96+
(data.coder_parameter.region.name) = "sa-saopaulo"
97+
(data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest"
98+
(data.coder_parameter.repo_base_dir.name) = "~"
99+
(data.coder_parameter.res_mon_memory_threshold.name) = 80
100+
(data.coder_parameter.res_mon_volume_threshold.name) = 90
101+
(data.coder_parameter.res_mon_volume_path.name) = "/home/coder"
102+
}
103+
prebuilds {
104+
instances = 1
105+
}
106+
}
107+
33108
data "coder_parameter" "repo_base_dir" {
34109
type = "string"
35110
name = "Coder Repository Base Directory"
@@ -438,6 +513,14 @@ resource "docker_image" "dogfood" {
438513
}
439514

440515
resource "docker_container" "workspace" {
516+
lifecycle {
517+
// Ignore changes that would invalidate prebuilds
518+
ignore_changes = [
519+
name,
520+
hostname,
521+
labels,
522+
]
523+
}
441524
count = data.coder_workspace.me.start_count
442525
image = docker_image.dogfood.name
443526
name = local.container_name

0 commit comments

Comments
 (0)