Skip to content

chore: update README.md #145

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 7, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 26 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,22 +92,16 @@ jetbrains://gateway/com.coder.toolbox
| ide_build_number | Specific build number of the JetBrains IDE to install on the workspace | No |
| folder | Absolute path to the project folder to open in the remote IDE (URL-encoded) | No |

If only a single agent is available, specifying an agent ID is optional. However, if multiple agents exist,
you must provide either the ID to target a specific one. Note that this version of the Coder Toolbox plugin
does not automatically start agents if they are offline, so please ensure the selected agent is running before
proceeding.
> [!NOTE]
> If only a single agent is available, specifying an agent ID is optional. However, if multiple agents exist,
> you must provide either the ID to target a specific one. Note that this version of the Coder Toolbox plugin
> does not automatically start agents if they are offline, so please ensure the selected agent is running before
> proceeding.

If `ide_product_code` and `ide_build_number` is missing, Toolbox will only open and highlight the workspace environment
page. Coder Toolbox will attempt to start the workspace if it’s not already running; however, for the most reliable
experience, it’s recommended to ensure the workspace is running prior to initiating the connection.

> ⚠️ Note: `folder` should point to a remote IDEA project that has already been opened and appears in the `Projects`
> tab.
> If the path refers to a project that doesn't exist, the remote IDE won’t start or load it.

> Until [TBX-14952](https://youtrack.jetbrains.com/issue/TBX-14952/) is fixed, it's best to either use a path to a
> previously opened project or leave it empty.

## Configuring and Testing workspace polling with HTTP & SOCKS5 Proxy

This section explains how to set up a local proxy (without authentication which is not yet supported) and verify that
Expand All @@ -122,7 +116,6 @@ interception.
2. Start the proxy:

```bash

mitmweb --ssl-insecure --set stream_large_bodies="10m"
```

Expand Down Expand Up @@ -170,7 +163,8 @@ Steps to enable debug logging:

There is no need to restart Toolbox, as it will begin logging at the __DEBUG__ level right away.

> ⚠️ **Attention:** Toolbox does not persist log level configuration between restarts.
> [!WARNING]
> Toolbox does not persist log level configuration between restarts.

#### Viewing the Logs

Expand All @@ -187,67 +181,67 @@ storage paths. The options can be configured from the plugin's main Workspaces p

### CLI related settings

```Binary source``` specifies the source URL or relative path from which the Coder CLI should be downloaded.
- `Binary source` specifies the source URL or relative path from which the Coder CLI should be downloaded.
If a relative path is provided, it is resolved against the deployment domain.

```Enable downloads``` allows automatic downloading of the CLI if the current version is missing or outdated.
- `Enable downloads` allows automatic downloading of the CLI if the current version is missing or outdated.

```Binary directory``` specifies the directory where CLI binaries are stored. If omitted, it defaults to the data
- `Binary directory` specifies the directory where CLI binaries are stored. If omitted, it defaults to the data
directory.

```Enable binary directory fallback``` if enabled, falls back to the data directory when the specified binary
- `Enable binary directory fallback` if enabled, falls back to the data directory when the specified binary
directory is not writable.

```Data directory``` directory where plugin-specific data such as session tokens and binaries are stored if not
- `Data directory` directory where plugin-specific data such as session tokens and binaries are stored if not
overridden by the binary directory setting.

```Header command``` command that outputs additional HTTP headers. Each line of output must be in the format key=value.
- `Header command` command that outputs additional HTTP headers. Each line of output must be in the format key=value.
The environment variable CODER_URL will be available to the command process.

### TLS settings

The following options control the secure communication behavior of the plugin with Coder deployment and its available
API.

```TLS cert path``` path to a client certificate file for TLS authentication with Coder deployment.
- `TLS cert path` path to a client certificate file for TLS authentication with Coder deployment.
The certificate should be in X.509 PEM format.

```TLS key path``` path to the private key corresponding to the TLS certificate from above.
- `TLS key path` path to the private key corresponding to the TLS certificate from above.
The certificate should be in X.509 PEM format.

```TLS CA path``` the path of a file containing certificates for an alternate certificate authority used to verify TLS
- `TLS CA path` the path of a file containing certificates for an alternate certificate authority used to verify TLS
certs returned by the Coder deployment. The file should be in X.509 PEM format. This option can also be used to verify
proxy certificates.

```TLS alternate hostname``` overrides the hostname used in TLS verification. This is useful when the hostname
- `TLS alternate hostname` overrides the hostname used in TLS verification. This is useful when the hostname
used to connect to the Coder deployment does not match the hostname in the TLS certificate.

### SSH settings

The following options control the SSH behavior of the Coder CLI.

```Disable autostart``` adds the --disable-autostart flag to the SSH proxy command, preventing the CLI from keeping
- `Disable autostart` adds the --disable-autostart flag to the SSH proxy command, preventing the CLI from keeping
workspaces constantly active.

```Enable SSH wildcard config``` enables or disables wildcard entries in the SSH configuration, which allow generic
- `Enable SSH wildcard config` enables or disables wildcard entries in the SSH configuration, which allow generic
rules for matching multiple workspaces.

```SSH proxy log directory``` directory where SSH proxy logs are written. Useful for debugging SSH connection issues.
- `SSH proxy log directory` directory where SSH proxy logs are written. Useful for debugging SSH connection issues.

```SSH network metrics directory``` directory where network information used by the SSH proxy is stored.
- `SSH network metrics directory` directory where network information used by the SSH proxy is stored.

```Extra SSH options``` additional options appended to the SSH configuration. Can be used to customize the behavior of
- `Extra SSH options` additional options appended to the SSH configuration. Can be used to customize the behavior of
SSH connections.

### Saving Changes

Changes made in the settings page are saved by clicking the Save button. Some changes, like toggling SSH wildcard
support,
may trigger regeneration of SSH configurations.
support, may trigger regeneration of SSH configurations.

### Security considerations

> ⚠️ **Attention:** Token authentication is required when TLS certificates are not configured.
> [!IMPORTANT]
> Token authentication is required when TLS certificates are not configured.

## Releasing

Expand All @@ -261,4 +255,4 @@ may trigger regeneration of SSH configurations.
- do **not** add any lambdas, handlers, or class handles to Java runtime hooks.
- do **not** create threads manually (including via libraries). If you must, ensure they are properly cleaned up in the plugin's `CoderRemoteProvider#close()` method.
- do **not** bundle libraries that are already provided by Toolbox.
- do **not** perform any ill-intentioned actions.
- do **not** perform any ill-intentioned actions.
Loading