@@ -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
1515module "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
203136All 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