Network handlers reference
The handlers object inside a connection's configuration routes the connection through a network handler. Each
handler is keyed by its handler ID.
The available handlers for a connection appear in the connection settings dialog, on the Network tab. Learn more
All handlers share these top-level fields:
| Field | Type | Default | Description |
|---|---|---|---|
type |
string | - | Handler type |
- TUNNEL (SSH tunnel, Kubernetes, AWS SSM) |
|||
- CONFIG (SSL) |
|||
- PROXY (SOCKS proxy) |
|||
enabled |
boolean | false |
Enable this handler for the connection |
save-password |
boolean | false |
Store credentials in the workspace config. When true, the encrypted credentials file is used. When false, credentials must be entered on each connect |
properties |
object | - | Handler-specific parameters. See sections below |
SSH tunnel¶
Handler ID: ssh_tunnel, type: TUNNEL
| Property | Type | Default | Description |
|---|---|---|---|
host |
string | - | SSH server hostname or IP |
port |
integer | 22 |
SSH server port |
authType |
string | - | Auth method: PASSWORD, PUBLIC_KEY, or AGENT |
user |
string | - | SSH username |
password |
string | - | SSH password. Used when authType is PASSWORD |
keyPath |
string | - | Path to the private key file. Used when authType is PUBLIC_KEY |
keyValue |
string | - | Private key content as a string. Used when authType is PUBLIC_KEY |
implementation |
string | jsch |
SSH library: jsch or sshj |
bypassHostVerification |
boolean | false |
Skip SSH host key verification |
shareTunnels |
boolean | false |
Reuse a single SSH tunnel across multiple connections to the same host |
localHost |
string | - | Local host for port forwarding |
localPort |
integer | - | Local port for port forwarding |
remoteHost |
string | - | Remote host to forward traffic to |
remotePort |
integer | - | Remote port to forward traffic to |
aliveInterval |
integer | - | Keep-alive interval in milliseconds |
sshConnectTimeout |
integer | - | Tunnel connection timeout in milliseconds |
Jump servers use indexed properties:
| Property | Type | Description |
|---|---|---|
jumpServer.count |
integer | Number of jump servers in the chain |
jumpServerN.host |
string | Hostname of jump server N (0-based index) |
jumpServerN.port |
integer | Port of jump server N |
jumpServerN.name |
string | Username for jump server N |
jumpServerN.authType |
string | Auth method for jump server N: PASSWORD, PUBLIC_KEY, or AGENT |
jumpServerN.enabled |
boolean | Enable this jump server |
Example
{
"handlers": {
"ssh_tunnel": {
"type": "TUNNEL",
"enabled": true,
"save-password": true,
"properties": {
"jumpServer.count": 1,
"jumpServer0.host": "jump.example.com",
"jumpServer0.port": 22,
"jumpServer0.name": "jumpuser",
"jumpServer0.authType": "PASSWORD",
"jumpServer0.enabled": true,
"host": "db.internal.example.com",
"port": 22,
"authType": "PUBLIC_KEY",
"user": "sshuser",
"keyPath": "${project.path}/Keys/id_rsa"
}
}
}
}
SSL¶
Type: CONFIG. Each database driver uses its own SSL handler ID (e.g. postgre_ssl, mysql_ssl, mongo_ssl).
Common properties¶
Most SSL handlers support certificates-based auth:
| Property | Type | Default | Description |
|---|---|---|---|
ssl.method |
string | CERTIFICATES |
Auth method: CERTIFICATES or KEYSTORE |
ssl.sslMode |
string | Set the SSL connection mode. Use disable, allow, prefer, require, verify-ca, or verify-full |
|
ssl.ca.cert |
string | Path to the CA certificate file | |
ssl.ca.cert.value |
string | CA certificate content (inline) | |
ssl.client.cert |
string | Path to the client certificate file | |
ssl.client.cert.value |
string | Client certificate content (inline) | |
ssl.client.key |
string | Path to the client private key file | |
ssl.client.key.value |
string | Client private key content (inline) |
For keystore-based auth (ssl.method: KEYSTORE):
| Property | Type | Description |
|---|---|---|
ssl.keystore |
string | Path to the keystore file |
ssl.keystore.value |
string | Keystore content (inline) |
ssl.keystore.password |
string | Keystore password |
Example
{
"handlers": {
"postgre_ssl": {
"type": "CONFIG",
"enabled": true,
"save-password": true,
"properties": {
"ssl.method": "CERTIFICATES",
"ssl.sslMode": "verify-full",
"ssl.ca.cert": "${project.path}/Keys/ca.crt",
"ssl.client.cert": "${project.path}/Keys/client.crt",
"ssl.client.key": "${project.path}/Keys/client.key"
}
}
}
}
Kubernetes¶
Handler ID: k8s_proxy, type: TUNNEL.
| Property | Type | Default | Description |
|---|---|---|---|
config |
string | - | Path to the kubeconfig file |
context |
string | default |
Kubernetes context to use |
namespace |
string | default |
Namespace of the target pod or service |
resource |
string | - | Pod or service name to forward to |
remotePort |
string | - | Port on the target pod or service |
Example
AWS SSM¶
Handler ID: aws_ssm, type: TUNNEL.
| Property | Type | Description |
|---|---|---|
ssm.instance.id |
string | EC2 instance ID |
ssm.instance.region |
string | AWS region of the instance |
ssm.document |
string | SSM document name for port forwarding |
ssm.debug |
boolean | Enable SSM debug logging |
iam.use_default_aws |
boolean | Use the default AWS credential chain instead of explicit keys |
iam.profile_name |
string | AWS profile name |
iam.aws_access_key |
string | AWS access key ID |
iam.aws_secret_key |
string | AWS secret access key |
iam.aws_session_token |
string | Session token for temporary credentials |
Example
SOCKS proxy¶
Handler ID: dynamic_proxy, type: PROXY.
| Property | Type | Default | Description |
|---|---|---|---|
socks-host |
string | - | SOCKS proxy hostname |
socks-port |
integer | - | SOCKS proxy port |
pac_enabled |
boolean | false |
Enable automatic proxy detection |
pac_strategy_os |
boolean | false |
Use the proxy settings from operating system |
pac_strategy_browser |
boolean | false |
Use the web browser proxy settings |
pac_strategy_env |
boolean | false |
Use the proxy settings from environment variables |