@@ -71,6 +71,50 @@ data "coder_parameter" "region" {
71
71
# }
72
72
}
73
73
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
+
74
118
provider "docker" {
75
119
host = lookup (local. docker_host , data. coder_parameter . region . value )
76
120
}
@@ -183,13 +227,12 @@ resource "coder_agent" "dev" {
183
227
184
228
# Install and launch filebrowser
185
229
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 &
187
231
188
232
repo_dir="${ data . coder_parameter . repo_dir . value } "
189
233
repo_dir="$${repo_dir/#~\//$HOME\/}"
190
234
if [ ! -d "$repo_dir" ]; then
191
235
mkdir -p "$repo_dir"
192
-
193
236
git clone https://github.com/coder/coder "$repo_dir"
194
237
fi
195
238
@@ -236,12 +279,26 @@ resource "coder_app" "filebrowser" {
236
279
agent_id = coder_agent. dev . id
237
280
display_name = " File Browser"
238
281
slug = " filebrowser"
239
- url = " http://localhost:13338 "
282
+ url = " http://localhost:13339 "
240
283
icon = " https://raw.githubusercontent.com/matifali/logos/main/database.svg"
241
284
subdomain = true
242
285
share = " owner"
243
286
}
244
287
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
+
245
302
resource "docker_volume" "home_volume" {
246
303
name = " coder-${ data . coder_workspace . me . id } -home"
247
304
# Protect the volume from being deleted due to changes in attributes.
0 commit comments