Skip to content

Commit dd2166f

Browse files
authored
doc: improve documentation and debugging steps (#112)
This PR documents a number of things: - how to configure the debug level before reporting any Coder plugin issue - how to collect or view the Toolbox log files. - the settings page and the available options
1 parent 4550664 commit dd2166f

File tree

1 file changed

+102
-1
lines changed

1 file changed

+102
-1
lines changed

README.md

Lines changed: 102 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Connects your JetBrains IDE to Coder workspaces
1010

1111
To install this plugin using JetBrains Toolbox, follow the steps below.
1212

13-
1. Install [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/). Make sure it's the `2.6.0.40284` release or
13+
1. Install [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/). Make sure it's the `2.6.0.40632` release or
1414
above.
1515
2. Launch the Toolbox app and sign in with your JetBrains account (if needed).
1616

@@ -137,6 +137,107 @@ mitmproxy can do HTTP and SOCKS5 proxying. To configure one or the other:
137137
5. Before authenticating to the Coder deployment we need to tell the plugin where can we find mitmproxy
138138
certificates. In Coder's Settings page, set the `TLS CA path` to `~/.mitmproxy/mitmproxy-ca-cert.pem`
139139

140+
## Debugging and Reporting issues
141+
142+
Enabling debug logging is essential for diagnosing issues with the Toolbox plugin, especially when SSH
143+
connections to the remote environment fail — it provides detailed output that includes SSH negotiation
144+
and command execution, which is not visible at the default log level.
145+
146+
If you encounter a problem with Coder's JetBrains Toolbox plugin, follow the steps below to gather more
147+
information and help us diagnose and resolve it quickly.
148+
149+
### Enable Debug Logging
150+
151+
To help with troubleshooting or to gain more insight into the behavior of the plugin and the SSH connection to
152+
the workspace, you can increase the log level to _DEBUG_.
153+
154+
Steps to enable debug logging:
155+
156+
1. Open Toolbox
157+
158+
2. Navigate to the Toolbox App Menu (hexagonal menu icon) > Settings > Advanced.
159+
160+
3. In the screen that appears, select _DEBUG_ for the `Log level:` section.
161+
162+
4. Hit the back button at the top.
163+
164+
There is no need to restart Toolbox, as it will begin logging at the __DEBUG__ level right away.
165+
166+
> ⚠️ **Attention:** Toolbox does not persist log level configuration between restarts.
167+
168+
#### Viewing the Logs
169+
170+
Once enabled, debug logs will be written to the Toolbox log files. You can access logs directly
171+
via Toolbox App Menu > About > Show log files.
172+
173+
Alternatively, you can generate a ZIP file using the Workspace action menu, available either on the main
174+
Workspaces page in Coder or within the individual workspace view, under the option labeled _Collect logs_.
175+
176+
## Coder Settings
177+
178+
The Coder Settings allows users to control CLI download behavior, SSH configuration, TLS parameters, and data
179+
storage paths. The options can be configured from the plugin's main Workspaces page > deployment action menu > Settings.
180+
181+
### CLI related settings
182+
183+
```Binary source``` specifies the source URL or relative path from which the Coder CLI should be downloaded.
184+
If a relative path is provided, it is resolved against the deployment domain.
185+
186+
```Enable downloads``` allows automatic downloading of the CLI if the current version is missing or outdated.
187+
188+
```Binary directory``` specifies the directory where CLI binaries are stored. If omitted, it defaults to the data directory.
189+
190+
```Enable binary directory fallback``` if enabled, falls back to the data directory when the specified binary
191+
directory is not writable.
192+
193+
```Data directory``` directory where plugin-specific data such as session tokens and binaries are stored if not
194+
overridden by the binary directory setting.
195+
196+
```Header command``` command that outputs additional HTTP headers. Each line of output must be in the format key=value.
197+
The environment variable CODER_URL will be available to the command process.
198+
199+
### TLS settings
200+
201+
The following options control the secure communication behavior of the plugin with Coder deployment and its available API.
202+
203+
```TLS cert path``` path to a client certificate file for TLS authentication with Coder deployment.
204+
The certificate should be in X.509 PEM format.
205+
206+
```TLS key path``` path to the private key corresponding to the TLS certificate from above.
207+
The certificate should be in X.509 PEM format.
208+
209+
```TLS CA path``` the path of a file containing certificates for an alternate certificate authority used to verify TLS
210+
certs returned by the Coder deployment. The file should be in X.509 PEM format. This option can also be used to verify
211+
proxy certificates.
212+
213+
```TLS alternate hostname``` overrides the hostname used in TLS verification. This is useful when the hostname
214+
used to connect to the Coder deployment does not match the hostname in the TLS certificate.
215+
216+
### SSH settings
217+
218+
The following options control the SSH behavior of the Coder CLI.
219+
220+
```Disable autostart``` adds the --disable-autostart flag to the SSH proxy command, preventing the CLI from keeping
221+
workspaces constantly active.
222+
223+
```Enable SSH wildcard config``` enables or disables wildcard entries in the SSH configuration, which allow generic
224+
rules for matching multiple workspaces.
225+
226+
```SSH proxy log directory``` directory where SSH proxy logs are written. Useful for debugging SSH connection issues.
227+
228+
```SSH network metrics directory``` directory where network information used by the SSH proxy is stored.
229+
230+
```Extra SSH options``` additional options appended to the SSH configuration. Can be used to customize the behavior of SSH connections.
231+
232+
### Saving Changes
233+
234+
Changes made in the settings page are saved by clicking the Save button. Some changes, like toggling SSH wildcard support,
235+
may trigger regeneration of SSH configurations.
236+
237+
### Security considerations
238+
239+
> ⚠️ **Attention:** Token authentication is required when TLS certificates are not configured.
240+
140241
## Releasing
141242

142243
1. Check that the changelog lists all the important changes.

0 commit comments

Comments
 (0)