Skip to content

Commit 5c0e39c

Browse files
authored
chore(dogfood): add a coder_app for JetBrains gateway IDEs
I am adding this to test this extensively before making it a native link.
1 parent 898971b commit 5c0e39c

File tree

1 file changed

+60
-3
lines changed

1 file changed

+60
-3
lines changed

dogfood/main.tf

+60-3
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,50 @@ data "coder_parameter" "region" {
7171
# }
7272
}
7373

74+
75+
data "coder_parameter" "security_groups" {
76+
name = "Security groups"
77+
icon = "/icon/aws.png"
78+
79+
description = "Select appropriate security groups."
80+
mutable = true
81+
default = jsonencode([
82+
"Web Server Security Group",
83+
"Database Security Group",
84+
"Backend Security Group"
85+
])
86+
}
87+
88+
data "coder_parameter" "jetbrains_ide" {
89+
type = "list(string)"
90+
name = "jetbrains_ide"
91+
display_name = "JetBrains IDE"
92+
icon = "/icon/gateway.svg"
93+
default = jsonencode([
94+
"GO",
95+
"232.9559.64",
96+
"https://download.jetbrains.com/go/goland-2023.2.1.tar.gz"
97+
])
98+
option {
99+
icon = "/icon/goland.svg"
100+
name = "GoLand"
101+
value = jsonencode([
102+
"GO",
103+
"232.9559.64",
104+
"https://download.jetbrains.com/go/goland-2023.2.1.tar.gz"
105+
])
106+
}
107+
option {
108+
icon = "/icon/webstorm.svg"
109+
name = "WebStorm"
110+
value = jsonencode([
111+
"WS",
112+
"232.9559.54",
113+
"https://download.jetbrains.com/webstorm/WebStorm-2023.2.1.tar.gz"
114+
])
115+
}
116+
}
117+
74118
provider "docker" {
75119
host = lookup(local.docker_host, data.coder_parameter.region.value)
76120
}
@@ -183,13 +227,12 @@ resource "coder_agent" "dev" {
183227
184228
# Install and launch filebrowser
185229
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
186-
filebrowser --noauth --root /home/coder --port 13338 >/tmp/filebrowser.log 2>&1 &
230+
filebrowser --noauth --root /home/coder --port 13339 >/tmp/filebrowser.log 2>&1 &
187231
188232
repo_dir="${data.coder_parameter.repo_dir.value}"
189233
repo_dir="$${repo_dir/#~\//$HOME\/}"
190234
if [ ! -d "$repo_dir" ]; then
191235
mkdir -p "$repo_dir"
192-
193236
git clone https://github.com/coder/coder "$repo_dir"
194237
fi
195238
@@ -236,12 +279,26 @@ resource "coder_app" "filebrowser" {
236279
agent_id = coder_agent.dev.id
237280
display_name = "File Browser"
238281
slug = "filebrowser"
239-
url = "http://localhost:13338"
282+
url = "http://localhost:13339"
240283
icon = "https://raw.githubusercontent.com/matifali/logos/main/database.svg"
241284
subdomain = true
242285
share = "owner"
243286
}
244287

288+
resource "coder_app" "gateway" {
289+
agent_id = coder_agent.dev.id
290+
display_name = data.coder_parameter.jetbrains_ide.option[index(data.coder_parameter.jetbrains_ide.option.*.value, data.coder_parameter.jetbrains_ide.value)].name
291+
slug = "gateway"
292+
url = "jetbrains-gateway://connect#type=coder&workspace=${data.coder_workspace.me.name}&agent=dev&folder=${data.coder_parameter.repo_dir.value}&url=${data.coder_workspace.me.access_url}&token=${data.coder_workspace.me.owner_session_token}&ide_product_code=${jsondecode(data.coder_parameter.jetbrains_ide.value)[0]}&ide_build_number=${jsondecode(data.coder_parameter.jetbrains_ide.value)[1]}&ide_download_link=${jsondecode(data.coder_parameter.jetbrains_ide.value)[2]}"
293+
icon = data.coder_parameter.jetbrains_ide.option[index(data.coder_parameter.jetbrains_ide.option.*.value, data.coder_parameter.jetbrains_ide.value)].icon
294+
external = true
295+
}
296+
297+
298+
output "debug_value" {
299+
value = data.coder_parameter.jetbrains_ide.value
300+
}
301+
245302
resource "docker_volume" "home_volume" {
246303
name = "coder-${data.coder_workspace.me.id}-home"
247304
# Protect the volume from being deleted due to changes in attributes.

0 commit comments

Comments
 (0)