Skip to content
This repository was archived by the owner on May 15, 2025. It is now read-only.

Commit c4a6117

Browse files
committed
Reorder JetBrains IDEs and add slug variable
Refactor the JetBrains IDE list for better readability and update with new slug variable. Adjust versions and positions accordingly, making the configuration more intuitive and manageable.
1 parent 48c81c9 commit c4a6117

File tree

2 files changed

+61
-55
lines changed

2 files changed

+61
-55
lines changed

jetbrains-gateway/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ This module adds a JetBrains Gateway Button to open any workspace with a single
1414
```tf
1515
module "jetbrains_gateway" {
1616
source = "registry.coder.com/modules/jetbrains-gateway/coder"
17-
version = "1.0.20"
17+
version = "1.0.21"
1818
agent_id = coder_agent.example.id
1919
agent_name = "example"
2020
folder = "/home/coder/example"
@@ -32,7 +32,7 @@ module "jetbrains_gateway" {
3232
```tf
3333
module "jetbrains_gateway" {
3434
source = "registry.coder.com/modules/jetbrains-gateway/coder"
35-
version = "1.0.20"
35+
version = "1.0.21"
3636
agent_id = coder_agent.example.id
3737
agent_name = "example"
3838
folder = "/home/coder/example"
@@ -46,7 +46,7 @@ module "jetbrains_gateway" {
4646
```tf
4747
module "jetbrains_gateway" {
4848
source = "registry.coder.com/modules/jetbrains-gateway/coder"
49-
version = "1.0.20"
49+
version = "1.0.21"
5050
agent_id = coder_agent.example.id
5151
agent_name = "example"
5252
folder = "/home/coder/example"
@@ -61,7 +61,7 @@ module "jetbrains_gateway" {
6161
```tf
6262
module "jetbrains_gateway" {
6363
source = "registry.coder.com/modules/jetbrains-gateway/coder"
64-
version = "1.0.20"
64+
version = "1.0.21"
6565
agent_id = coder_agent.example.id
6666
agent_name = "example"
6767
folder = "/home/coder/example"
@@ -76,11 +76,11 @@ module "jetbrains_gateway" {
7676

7777
This module and JetBrains Gateway support the following JetBrains IDEs:
7878

79+
- CLion (`CL`)
7980
- GoLand (`GO`)
80-
- WebStorm (`WS`)
8181
- IntelliJ IDEA Ultimate (`IU`)
82-
- PyCharm Professional (`PY`)
8382
- PhpStorm (`PS`)
84-
- CLion (`CL`)
85-
- RubyMine (`RM`)
83+
- PyCharm Professional (`PY`)
8684
- Rider (`RD`)
85+
- RubyMine (`RM`)
86+
- WebStorm (`WS`)

jetbrains-gateway/main.tf

Lines changed: 53 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ variable "agent_id" {
1818
description = "The ID of a Coder agent."
1919
}
2020

21+
variable "slug" {
22+
type = string
23+
description = "The slug of the app."
24+
default = "gateway"
25+
}
26+
2127
variable "agent_name" {
2228
type = string
2329
description = "Agent name."
@@ -73,6 +79,14 @@ variable "jetbrains_ide_versions" {
7379
}))
7480
description = "The set of versions for each jetbrains IDE"
7581
default = {
82+
"CL" = {
83+
build_number = "241.14494.288"
84+
version = "2024.1"
85+
}
86+
"GO" = {
87+
build_number = "241.14494.238"
88+
version = "2024.1"
89+
}
7690
"IU" = {
7791
build_number = "241.14494.240"
7892
version = "2024.1"
@@ -81,28 +95,20 @@ variable "jetbrains_ide_versions" {
8195
build_number = "241.14494.237"
8296
version = "2024.1"
8397
}
84-
"WS" = {
85-
build_number = "241.14494.235"
86-
version = "2024.1"
87-
}
8898
"PY" = {
8999
build_number = "241.14494.241"
90100
version = "2024.1"
91101
}
92-
"CL" = {
93-
build_number = "241.14494.288"
94-
version = "2024.1"
95-
}
96-
"GO" = {
97-
build_number = "241.14494.238"
102+
"RD" = {
103+
build_number = "241.14494.307"
98104
version = "2024.1"
99105
}
100106
"RM" = {
101107
build_number = "241.14494.234"
102108
version = "2024.1"
103109
}
104-
"RD" = {
105-
build_number = "241.14494.307"
110+
"WS" = {
111+
build_number = "241.14494.235"
106112
version = "2024.1"
107113
}
108114
}
@@ -119,14 +125,14 @@ variable "jetbrains_ide_versions" {
119125
variable "jetbrains_ides" {
120126
type = list(string)
121127
description = "The list of IDE product codes."
122-
default = ["IU", "PS", "WS", "PY", "CL", "GO", "RM", "RD"]
128+
default = ["CL", "GO", "IU", "PS", "PY", "RD", "RM", "WS"]
123129
validation {
124130
condition = (
125131
alltrue([
126-
for code in var.jetbrains_ides : contains(["IU", "PS", "WS", "PY", "CL", "GO", "RM", "RD"], code)
132+
for code in var.jetbrains_ides : contains(["CL", "GO", "IU", "PS", "PY", "RD", "RM", "WS"], code)
127133
])
128134
)
129-
error_message = "The jetbrains_ides must be a list of valid product codes. Valid product codes are ${join(",", ["IU", "PS", "WS", "PY", "CL", "GO", "RM", "RD"])}."
135+
error_message = "The jetbrains_ides must be a list of valid product codes. Valid product codes are ${join(",", ["CL", "GO", "IU", "PS", "PY", "RD", "RM", "WS"])}."
130136
}
131137
# check if the list is empty
132138
validation {
@@ -147,6 +153,14 @@ data "http" "jetbrains_ide_versions" {
147153

148154
locals {
149155
jetbrains_ides = {
156+
"CL" = {
157+
icon = "/icon/clion.svg",
158+
name = "CLion",
159+
identifier = "CL",
160+
build_number = var.jetbrains_ide_versions["CL"].build_number,
161+
download_link = "https://download.jetbrains.com/cpp/CLion-${var.jetbrains_ide_versions["CL"].version}.tar.gz"
162+
version = var.jetbrains_ide_versions["CL"].version
163+
},
150164
"GO" = {
151165
icon = "/icon/goland.svg",
152166
name = "GoLand",
@@ -155,14 +169,6 @@ locals {
155169
download_link = "https://download.jetbrains.com/go/goland-${var.jetbrains_ide_versions["GO"].version}.tar.gz"
156170
version = var.jetbrains_ide_versions["GO"].version
157171
},
158-
"WS" = {
159-
icon = "/icon/webstorm.svg",
160-
name = "WebStorm",
161-
identifier = "WS",
162-
build_number = var.jetbrains_ide_versions["WS"].build_number,
163-
download_link = "https://download.jetbrains.com/webstorm/WebStorm-${var.jetbrains_ide_versions["WS"].version}.tar.gz"
164-
version = var.jetbrains_ide_versions["WS"].version
165-
},
166172
"IU" = {
167173
icon = "/icon/intellij.svg",
168174
name = "IntelliJ IDEA Ultimate",
@@ -171,6 +177,14 @@ locals {
171177
download_link = "https://download.jetbrains.com/idea/ideaIU-${var.jetbrains_ide_versions["IU"].version}.tar.gz"
172178
version = var.jetbrains_ide_versions["IU"].version
173179
},
180+
"PS" = {
181+
icon = "/icon/phpstorm.svg",
182+
name = "PhpStorm",
183+
identifier = "PS",
184+
build_number = var.jetbrains_ide_versions["PS"].build_number,
185+
download_link = "https://download.jetbrains.com/webide/PhpStorm-${var.jetbrains_ide_versions["PS"].version}.tar.gz"
186+
version = var.jetbrains_ide_versions["PS"].version
187+
},
174188
"PY" = {
175189
icon = "/icon/pycharm.svg",
176190
name = "PyCharm Professional",
@@ -179,21 +193,13 @@ locals {
179193
download_link = "https://download.jetbrains.com/python/pycharm-professional-${var.jetbrains_ide_versions["PY"].version}.tar.gz"
180194
version = var.jetbrains_ide_versions["PY"].version
181195
},
182-
"CL" = {
183-
icon = "/icon/clion.svg",
184-
name = "CLion",
185-
identifier = "CL",
186-
build_number = var.jetbrains_ide_versions["CL"].build_number,
187-
download_link = "https://download.jetbrains.com/cpp/CLion-${var.jetbrains_ide_versions["CL"].version}.tar.gz"
188-
version = var.jetbrains_ide_versions["CL"].version
189-
},
190-
"PS" = {
191-
icon = "/icon/phpstorm.svg",
192-
name = "PhpStorm",
193-
identifier = "PS",
194-
build_number = var.jetbrains_ide_versions["PS"].build_number,
195-
download_link = "https://download.jetbrains.com/webide/PhpStorm-${var.jetbrains_ide_versions["PS"].version}.tar.gz"
196-
version = var.jetbrains_ide_versions["PS"].version
196+
"RD" = {
197+
icon = "/icon/rider.svg",
198+
name = "Rider",
199+
identifier = "RD",
200+
build_number = var.jetbrains_ide_versions["RD"].build_number,
201+
download_link = "https://download.jetbrains.com/rider/JetBrains.Rider-${var.jetbrains_ide_versions["RD"].version}.tar.gz"
202+
version = var.jetbrains_ide_versions["RD"].version
197203
},
198204
"RM" = {
199205
icon = "/icon/rubymine.svg",
@@ -202,14 +208,14 @@ locals {
202208
build_number = var.jetbrains_ide_versions["RM"].build_number,
203209
download_link = "https://download.jetbrains.com/ruby/RubyMine-${var.jetbrains_ide_versions["RM"].version}.tar.gz"
204210
version = var.jetbrains_ide_versions["RM"].version
205-
}
206-
"RD" = {
207-
icon = "/icon/rider.svg",
208-
name = "Rider",
209-
identifier = "RD",
210-
build_number = var.jetbrains_ide_versions["RD"].build_number,
211-
download_link = "https://download.jetbrains.com/rider/JetBrains.Rider-${var.jetbrains_ide_versions["RD"].version}.tar.gz"
212-
version = var.jetbrains_ide_versions["RD"].version
211+
},
212+
"WS" = {
213+
icon = "/icon/webstorm.svg",
214+
name = "WebStorm",
215+
identifier = "WS",
216+
build_number = var.jetbrains_ide_versions["WS"].build_number,
217+
download_link = "https://download.jetbrains.com/webstorm/WebStorm-${var.jetbrains_ide_versions["WS"].version}.tar.gz"
218+
version = var.jetbrains_ide_versions["WS"].version
213219
}
214220
}
215221

@@ -247,7 +253,7 @@ data "coder_workspace_owner" "me" {}
247253

248254
resource "coder_app" "gateway" {
249255
agent_id = var.agent_id
250-
slug = "gateway"
256+
slug = var.slug
251257
display_name = local.display_name
252258
icon = local.icon
253259
external = true

0 commit comments

Comments
 (0)