1
1
---
2
2
display_name : JetBrains IDEs
3
- description : Add a one-click button to launch JetBrains IDEs from the Coder dashboard .
3
+ description : Add JetBrains IDE integrations to your Coder workspaces with configurable options .
4
4
icon : ../.icons/jetbrains.svg
5
5
maintainer_github : coder
6
6
partner_github : jetbrains
@@ -10,16 +10,15 @@ tags: [ide, jetbrains, parameter]
10
10
11
11
# JetBrains IDEs
12
12
13
- This module adds a JetBrains IDE Button to open any workspace with a single click .
13
+ 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 .
14
14
15
15
``` tf
16
16
module "jetbrains" {
17
17
count = data.coder_workspace.me.start_count
18
18
source = "registry.coder.com/coder/jetbrains/coder"
19
19
version = "1.0.0"
20
20
agent_id = coder_agent.example.id
21
- folder = "/home/coder/example"
22
- default = "GO"
21
+ folder = "/home/coder/project"
23
22
}
24
23
```
25
24
@@ -31,58 +30,134 @@ module "jetbrains" {
31
30
32
31
## Examples
33
32
34
- ### Use the latest version of each IDE
33
+ ### Pre-configured Mode (Direct App Creation)
34
+
35
+ When ` default ` contains IDE codes, those IDEs are created directly without user selection:
35
36
36
37
``` tf
37
38
module "jetbrains" {
38
39
count = data.coder_workspace.me.start_count
39
- source = "registry.coder.com/modules /jetbrains/coder"
40
+ source = "registry.coder.com/coder /jetbrains/coder"
40
41
version = "1.0.0"
41
42
agent_id = coder_agent.example.id
42
- folder = "/home/coder/example"
43
- options = ["IU", "PY"]
44
- default = ["IU"]
45
- latest = true
43
+ folder = "/home/coder/project"
44
+ default = ["GO", "IU"] # Pre-configure GoLand and IntelliJ IDEA
46
45
}
47
46
```
48
47
49
- ### Use the latest EAP version
48
+ ### User Choice with Limited Options
50
49
51
50
``` tf
52
51
module "jetbrains" {
53
52
count = data.coder_workspace.me.start_count
54
- source = "registry.coder.com/modules /jetbrains/coder"
53
+ source = "registry.coder.com/coder /jetbrains/coder"
55
54
version = "1.0.0"
56
55
agent_id = coder_agent.example.id
57
- folder = "/home/coder/example"
58
- options = ["GO", "WS"]
59
- default = ["GO"]
60
- latest = true
61
- channel = "eap"
56
+ folder = "/home/coder/project"
57
+ # Show parameter with limited options
58
+ options = ["GO", "PY", "WS"] # Only these IDEs are available for selection
62
59
}
63
60
```
64
61
65
- ### Custom base link
62
+ ### Early Access Preview (EAP) Versions
63
+
64
+ ``` tf
65
+ module "jetbrains" {
66
+ count = data.coder_workspace.me.start_count
67
+ source = "registry.coder.com/coder/jetbrains/coder"
68
+ version = "1.0.0"
69
+ agent_id = coder_agent.example.id
70
+ folder = "/home/coder/project"
71
+ default = ["GO", "RR"]
72
+ channel = "eap" # Use Early Access Preview versions
73
+ major_version = "2025.2" # Specific major version
74
+ }
75
+ ```
76
+
77
+ ### Custom IDE Configuration
78
+
79
+ ``` tf
80
+ module "jetbrains" {
81
+ count = data.coder_workspace.me.start_count
82
+ source = "registry.coder.com/coder/jetbrains/coder"
83
+ version = "1.0.0"
84
+ agent_id = coder_agent.example.id
85
+ folder = "/workspace/project"
86
+
87
+ # Custom IDE metadata (display names and icons)
88
+ ide_config = {
89
+ "GO" = {
90
+ name = "GoLand"
91
+ icon = "/custom/icons/goland.svg"
92
+ build = "251.25410.140" # Note: build numbers are fetched from API, not used
93
+ }
94
+ "PY" = {
95
+ name = "PyCharm"
96
+ icon = "/custom/icons/pycharm.svg"
97
+ build = "251.23774.211"
98
+ }
99
+ "WS" = {
100
+ name = "WebStorm"
101
+ icon = "/icon/webstorm.svg"
102
+ build = "251.23774.210"
103
+ }
104
+ }
105
+ }
106
+ ```
107
+
108
+ ### Offline Mode
109
+
110
+ For organizations with internal JetBrains API mirrors:
111
+
112
+ ``` tf
113
+ module "jetbrains" {
114
+ count = data.coder_workspace.me.start_count
115
+ source = "registry.coder.com/coder/jetbrains/coder"
116
+ version = "1.0.0"
117
+ agent_id = coder_agent.example.id
118
+ folder = "/home/coder/project"
66
119
67
- Due to the highest priority of the ` ide_download_link ` parameter in the ` (jetbrains-gateway://... ` within IDEA, the pre-configured download address will be overridden when using [ IDEA's offline mode] ( https://www.jetbrains.com/help/idea/fully-offline-mode.html ) . Therefore, it is necessary to configure the ` download_base_link ` parameter for the ` jetbrains_gateway ` module to change the value of ` ide_download_link ` .
120
+ default = ["GO", "IU"]
121
+
122
+ # Custom API endpoints
123
+ releases_base_link = "https://jetbrains-api.internal.company.com"
124
+ download_base_link = "https://jetbrains-downloads.internal.company.com"
125
+ }
126
+ ```
127
+
128
+ ### Single IDE for Specific Use Case
68
129
69
130
``` tf
70
- module "jetbrains_gateway" {
71
- count = data.coder_workspace.me.start_count
72
- source = "registry.coder.com/modules/jetbrains-gateway/coder"
73
- version = "1.0.0"
74
- agent_id = coder_agent.example.id
75
- folder = "/home/coder/example"
76
- options = ["GO", "WS"]
77
- releases_base_link = "https://releases.internal.site/"
78
- download_base_link = "https://download.internal.site/"
79
- default = ["GO"]
131
+ module "jetbrains_goland" {
132
+ count = data.coder_workspace.me.start_count
133
+ source = "registry.coder.com/coder/jetbrains/coder"
134
+ version = "1.0.0"
135
+ agent_id = coder_agent.example.id
136
+ folder = "/go/src/project"
137
+
138
+ default = ["GO"] # Only GoLand
139
+
140
+ # Specific version for consistency
141
+ major_version = "2025.1"
142
+ channel = "release"
80
143
}
81
144
```
82
145
146
+ ## Behavior
147
+
148
+ ### Parameter vs Direct Apps
149
+
150
+ - ** ` default = [] ` (empty)** : Creates a ` coder_parameter ` allowing users to select IDEs from ` options `
151
+ - ** ` default ` with values** : Skips parameter and directly creates ` coder_app ` resources for the specified IDEs
152
+
153
+ ### Version Resolution
154
+
155
+ - Build numbers are always fetched from the JetBrains API for the latest compatible versions
156
+ - ` major_version ` and ` channel ` control which API endpoint is queried
157
+
83
158
## Supported IDEs
84
159
85
- JetBrains supports remote development for the following IDEs :
160
+ All JetBrains IDEs with remote development capabilities :
86
161
87
162
- [ GoLand (` GO ` )] ( https://www.jetbrains.com/go/ )
88
163
- [ WebStorm (` WS ` )] ( https://www.jetbrains.com/webstorm/ )
0 commit comments