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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy