Skip to content

Commit 34346e7

Browse files
committed
Update JetBrains module readme for clarity
1 parent 15fcf0e commit 34346e7

File tree

1 file changed

+17
-83
lines changed

1 file changed

+17
-83
lines changed

registry/coder/modules/jetbrains/README.md

Lines changed: 17 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tags: [ide, jetbrains, parameter]
99

1010
# JetBrains IDEs
1111

12-
This module adds JetBrains IDE integrations to your Coder workspaces, allowing users to launch IDEs directly from the dashboard or pre-configure specific IDEs for immediate use.
12+
This module adds JetBrains IDE buttons to launch IDEs directly from the dashboard by integrating with the JetBrains Toolbox.
1313

1414
```tf
1515
module "jetbrains" {
@@ -22,14 +22,12 @@ module "jetbrains" {
2222
```
2323

2424
> [!IMPORTANT]
25-
> This module requires Coder version 2.24+ and JetBrains Toolbox version 2.7 or higher.
25+
> This module requires Coder version 2.24+ and [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/) version 2.7 or higher.
2626
2727
> [!WARNING]
2828
> JetBrains recommends a minimum of 4 CPU cores and 8GB of RAM.
2929
> Consult the [JetBrains documentation](https://www.jetbrains.com/help/idea/prerequisites.html#min_requirements) to confirm other system requirements.
3030
31-
![JetBrains IDEs list](../.images/jetbrains-gateway.png)
32-
3331
## Examples
3432

3533
### Pre-configured Mode (Direct App Creation)
@@ -43,7 +41,7 @@ module "jetbrains" {
4341
version = "1.0.0"
4442
agent_id = coder_agent.example.id
4543
folder = "/home/coder/project"
46-
default = ["GO", "IU"] # Pre-configure GoLand and IntelliJ IDEA
44+
default = ["PY", "IU"] # Pre-configure GoLand and IntelliJ IDEA
4745
}
4846
```
4947

@@ -57,7 +55,7 @@ module "jetbrains" {
5755
agent_id = coder_agent.example.id
5856
folder = "/home/coder/project"
5957
# Show parameter with limited options
60-
options = ["GO", "PY", "WS"] # Only these IDEs are available for selection
58+
options = ["IU", "PY"] # Only these IDEs are available for selection
6159
}
6260
```
6361

@@ -70,7 +68,7 @@ module "jetbrains" {
7068
version = "1.0.0"
7169
agent_id = coder_agent.example.id
7270
folder = "/home/coder/project"
73-
default = ["GO", "RR"]
71+
default = ["IU", "PY"]
7472
channel = "eap" # Use Early Access Preview versions
7573
major_version = "2025.2" # Specific major version
7674
}
@@ -88,96 +86,31 @@ module "jetbrains" {
8886
8987
# Custom IDE metadata (display names and icons)
9088
ide_config = {
91-
"GO" = {
92-
name = "GoLand"
93-
icon = "/custom/icons/goland.svg"
94-
build = "251.25410.140"
89+
"IU" = {
90+
name = "IntelliJ IDEA"
91+
icon = "/custom/icons/intellij.svg"
92+
build = "251.26927.53"
9593
}
9694
"PY" = {
9795
name = "PyCharm"
9896
icon = "/custom/icons/pycharm.svg"
9997
build = "251.23774.211"
10098
}
101-
"WS" = {
102-
name = "WebStorm"
103-
icon = "/icon/webstorm.svg"
104-
build = "251.23774.210"
105-
}
106-
}
107-
}
108-
```
109-
110-
### Air-Gapped and Offline Environments
111-
112-
This module supports air-gapped environments through automatic fallback mechanisms:
113-
114-
#### Option 1: Self-hosted JetBrains API Mirror
115-
116-
For organizations with internal JetBrains API mirrors:
117-
118-
```tf
119-
module "jetbrains" {
120-
count = data.coder_workspace.me.start_count
121-
source = "registry.coder.com/coder/jetbrains/coder"
122-
version = "1.0.0"
123-
agent_id = coder_agent.example.id
124-
folder = "/home/coder/project"
125-
126-
default = ["GO", "IU"]
127-
128-
# Custom API endpoints
129-
releases_base_link = "https://jetbrains-api.internal.company.com"
130-
download_base_link = "https://jetbrains-downloads.internal.company.com"
131-
}
132-
```
133-
134-
#### Option 2: Fully Air-Gapped (No Internet Access)
135-
136-
The module automatically falls back to static build numbers from `ide_config` when the JetBrains API is unreachable:
137-
138-
```tf
139-
module "jetbrains" {
140-
count = data.coder_workspace.me.start_count
141-
source = "registry.coder.com/coder/jetbrains/coder"
142-
version = "1.0.0"
143-
agent_id = coder_agent.example.id
144-
folder = "/home/coder/project"
145-
146-
default = ["GO", "IU"]
147-
148-
# Update these build numbers as needed for your environment
149-
ide_config = {
150-
"GO" = {
151-
name = "GoLand"
152-
icon = "/icon/goland.svg"
153-
build = "251.26927.50" # Static build number used when API is unavailable
154-
}
155-
"IU" = {
156-
name = "IntelliJ IDEA"
157-
icon = "/icon/intellij.svg"
158-
build = "251.26927.53" # Static build number used when API is unavailable
159-
}
16099
}
161100
}
162101
```
163102

164-
**How it works:**
165-
166-
- The module first attempts to fetch the latest build numbers from the JetBrains API
167-
- If the API is unreachable (network timeout, DNS failure, etc.), it automatically falls back to the build numbers specified in `ide_config`
168-
- This ensures the module works in both connected and air-gapped environments without configuration changes
169-
170103
### Single IDE for Specific Use Case
171104

172105
```tf
173-
module "jetbrains_goland" {
106+
module "jetbrains_pycharm" {
174107
count = data.coder_workspace.me.start_count
175108
source = "registry.coder.com/coder/jetbrains/coder"
176109
version = "1.0.0"
177110
agent_id = coder_agent.example.id
178-
folder = "/go/src/project"
111+
folder = "/workspace/project"
179112
180-
default = ["GO"] # Only GoLand
113+
default = ["PY"] # Only PyCharm
181114
182115
# Specific version for consistency
183116
major_version = "2025.1"
@@ -202,12 +135,13 @@ module "jetbrains_goland" {
202135

203136
All JetBrains IDEs with remote development capabilities:
204137

138+
- [CLion (`CL`)](https://www.jetbrains.com/clion/)
205139
- [GoLand (`GO`)](https://www.jetbrains.com/go/)
206-
- [WebStorm (`WS`)](https://www.jetbrains.com/webstorm/)
207140
- [IntelliJ IDEA Ultimate (`IU`)](https://www.jetbrains.com/idea/)
208-
- [PyCharm Professional (`PY`)](https://www.jetbrains.com/pycharm/)
209141
- [PhpStorm (`PS`)](https://www.jetbrains.com/phpstorm/)
210-
- [CLion (`CL`)](https://www.jetbrains.com/clion/)
211-
- [RubyMine (`RM`)](https://www.jetbrains.com/ruby/)
142+
- [PyCharm Professional (`PY`)](https://www.jetbrains.com/pycharm/)
212143
- [Rider (`RD`)](https://www.jetbrains.com/rider/)
144+
- [RubyMine (`RM`)](https://www.jetbrains.com/ruby/)
213145
- [RustRover (`RR`)](https://www.jetbrains.com/rust/)
146+
- [WebStorm (`WS`)](https://www.jetbrains.com/webstorm/)
147+
- [WebStorm (`WS`)](https://www.jetbrains.com/webstorm/)

0 commit comments

Comments
 (0)