Skip to content

docs(wiki): document Unix socket connections (local and via SSH forward)#13

Open
debba wants to merge 3 commits into
mainfrom
docs/ssh-unix-socket-forward
Open

docs(wiki): document Unix socket connections (local and via SSH forward)#13
debba wants to merge 3 commits into
mainfrom
docs/ssh-unix-socket-forward

Conversation

@debba

@debba debba commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Documents the Unix socket support shipped in TabularisDB/tabularis#492: a single Socket Path connection field with tunnel-relative semantics, like Host and Port.

  • Connections: one Socket path row in the connection fields table, plus a "Connecting over a Unix socket" section: the three tunnel states (local dialing / SSH server dialing / ignored with Kubernetes), typical socket paths per platform, PostgreSQL file-vs-directory handling, the automatic TLS disable, and when the field is visible (unix_socket capability, or any network driver with SSH enabled).
  • SSH Tunneling: "Forwarding to a Unix Socket" section covering when to use it (MySQL skip_networking, PostgreSQL listen_addresses = '') and how each backend implements it (direct-streamlocal@openssh.com on russh, ssh -L <port>:/path/to/socket on system ssh), now pointing at the shared field.
  • Plugins: unix_socket capability row in the manifest capabilities table (enables local socket dialing; the value reaches the plugin as unix_socket_path).

pnpm build passed on the initial commit; follow-up commits are Markdown-only content.

@vercel

vercel Bot commented Jul 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
website Ready Ready Preview, Comment Jul 18, 2026 2:00pm

Request Review

Comment thread content/wiki/ssh-tunneling.md Outdated

## Forwarding to a Unix Socket

Some databases only listen on a Unix socket: MySQL with `skip_networking`, PostgreSQL with `listen_addresses = ''`. For those, set the optional **Socket Path** field in the SSH section of the connection editor.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Inconsistent field name casing

The connections table uses "Socket path" (sentence case), but this prose reference uses "Socket Path" (title case). For consistency with the table and other field references like "Allow interactive prompts", use sentence case here.

Suggested change
Some databases only listen on a Unix socket: MySQL with `skip_networking`, PostgreSQL with `listen_addresses = ''`. For those, set the optional **Socket Path** field in the SSH section of the connection editor.
Some databases only listen on a Unix socket: MySQL with `skip_networking`, PostgreSQL with `listen_addresses = ''`. For those, set the optional **Socket path** field in the SSH section of the connection editor.

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

@kilo-code-bot

kilo-code-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: 2 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 2
Issue Details (click to expand)

SUGGESTION

File Line Issue
content/wiki/connections.md 101 Inconsistent field name casing
content/wiki/plugins.md 95 Inconsistent field name casing
Files Reviewed (3 files)
  • content/wiki/connections.md - 1 issue
  • content/wiki/plugins.md - 1 issue
  • content/wiki/ssh-tunneling.md - 0 issues

Fix these issues in Kilo Cloud

Previous Review Summaries (2 snapshots, latest commit aa7ffa1)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit aa7ffa1)

Status: 3 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 3
Issue Details (click to expand)

SUGGESTION

File Line Issue
content/wiki/connections.md 102 Inconsistent field name casing
content/wiki/ssh-tunneling.md 97 Inconsistent field name casing
content/wiki/plugins.md 95 Inconsistent field name casing
Files Reviewed (3 files)
  • content/wiki/connections.md - 1 issue
  • content/wiki/ssh-tunneling.md - 1 issue
  • content/wiki/plugins.md - 1 issue

Fix these issues in Kilo Cloud

Previous review (commit 0a7b883)

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 1
Issue Details (click to expand)

SUGGESTION

File Line Issue
content/wiki/ssh-tunneling.md 97 Inconsistent field name casing
Files Reviewed (2 files)
  • content/wiki/connections.md - 0 issues
  • content/wiki/ssh-tunneling.md - 1 issue

Fix these issues in Kilo Cloud


Reviewed by kimi-k2.6 · Input: 160.9K · Output: 21K · Cached: 131.4K

Companion to TabularisDB/tabularis#492: the PR now also lets the MySQL
and PostgreSQL drivers dial a Unix socket on the local machine directly,
gated by the new unix_socket driver capability. Adds the field to the
connection-profile table, a Local Unix socket section in connections.md,
the capability row in plugins.md, and a cross-link from the SSH
forwarding section.
@debba debba changed the title docs(wiki): document SSH forwarding to a Unix socket docs(wiki): document Unix socket connections (local and via SSH forward) Jul 18, 2026
Comment thread content/wiki/connections.md Outdated

### Local Unix socket (MySQL / PostgreSQL)

A database on the same machine can be reached through its Unix socket instead of TCP: set the optional **Local Socket Path** field in the General tab. No tunnel is involved — the drivers dial the socket directly.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Inconsistent field name casing\n\nThe connections table uses "Local socket path" (sentence case), but this prose reference uses "Local Socket Path" (title case). For consistency with the table, use sentence case.\n\nsuggestion\nA database on the same machine can be reached through its Unix socket instead of TCP: set the optional **Local socket path** field in the General tab. No tunnel is involved — the drivers dial the socket directly.\n\n\n---\nReply with @kilocode-bot fix it to have Kilo Code address this issue.

Comment thread content/wiki/ssh-tunneling.md Outdated

## Forwarding to a Unix Socket

Some databases only listen on a Unix socket: MySQL with `skip_networking`, PostgreSQL with `listen_addresses = ''`. For those, set the optional **Socket Path** field in the SSH section of the connection editor. (For a socket-only database on *your own* machine, no tunnel is needed — use the **Local Socket Path** field instead; see [Connections → Local Unix socket](/wiki/connections#local-unix-socket-mysql--postgresql).)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Inconsistent field name casing\n\nThe connections table uses "Socket path" and "Local socket path" (sentence case), but this prose uses "Socket Path" and "Local Socket Path" (title case). For consistency, use sentence case.\n\nsuggestion\nSome databases only listen on a Unix socket: MySQL with `skip_networking`, PostgreSQL with `listen_addresses = ''`. For those, set the optional **Socket path** field in the SSH section of the connection editor. (For a socket-only database on *your own* machine, no tunnel is needed — use the **Local socket path** field instead; see [Connections → Local Unix socket](/wiki/connections#local-unix-socket-mysql--postgresql).)\n\n\n---\nReply with @kilocode-bot fix it to have Kilo Code address this issue.

Comment thread content/wiki/plugins.md Outdated
| `connection_string_example` | string | Optional placeholder example shown in the connection string import field (e.g. `"clickhouse://user:pass@localhost:9000/db"`). `connectionStringExample` is also accepted. |
| `manage_tables` | bool | `true` to enable table and column management UI (Create Table, Add/Modify/Drop Column, Drop Table). Does not control index or FK operations. Defaults to `true`. |
| `readonly` | bool | When `true`, the driver is read-only: all data modification operations (INSERT, UPDATE, DELETE) are disabled in the UI. Table and column management is also hidden regardless of `manage_tables`. Defaults to `false`. |
| `unix_socket` | bool | `true` if the driver can connect through a local Unix socket instead of host:port. Shows the **Local Socket Path** field in the connection editor; the path reaches the plugin in the connection params as `unix_socket_path`. `unixSocket` is also accepted. Defaults to `false`. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Inconsistent field name casing\n\nThe connections table uses "Local socket path" (sentence case), but this capability description uses "Local Socket Path" (title case). For consistency, use sentence case.\n\nsuggestion\n| `unix_socket` | bool | `true` if the driver can connect through a local Unix socket instead of host:port. Shows the **Local socket path** field in the connection editor; the path reaches the plugin in the connection params as `unix_socket_path`. `unixSocket` is also accepted. Defaults to `false`. |\n\n\n---\nReply with @kilocode-bot fix it to have Kilo Code address this issue.

The app now has one unix_socket_path field with tunnel-relative
semantics (like Host and Port): dialed locally without a tunnel,
by the SSH server with SSH enabled, ignored with Kubernetes. Merge
the two connection-table rows into one, rewrite the connections.md
section as 'Connecting over a Unix socket', point the SSH forwarding
section at the shared field, and update the unix_socket capability row.

### Connecting over a Unix socket

The optional **Socket Path** field in the General tab names the Unix socket the database listens on, replacing Host and Port. Like Host and Port, it is interpreted from the perspective of whoever dials the destination:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Inconsistent field name casing

The connections table uses "Socket path" (sentence case), but this prose reference uses "Socket Path" (title case). For consistency with the table, use sentence case.

Suggested change
The optional **Socket Path** field in the General tab names the Unix socket the database listens on, replacing Host and Port. Like Host and Port, it is interpreted from the perspective of whoever dials the destination:
The optional **Socket path** field in the General tab names the Unix socket the database listens on, replacing Host and Port. Like Host and Port, it is interpreted from the perspective of whoever dials the destination:

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

Comment thread content/wiki/plugins.md
| `connection_string_example` | string | Optional placeholder example shown in the connection string import field (e.g. `"clickhouse://user:pass@localhost:9000/db"`). `connectionStringExample` is also accepted. |
| `manage_tables` | bool | `true` to enable table and column management UI (Create Table, Add/Modify/Drop Column, Drop Table). Does not control index or FK operations. Defaults to `true`. |
| `readonly` | bool | When `true`, the driver is read-only: all data modification operations (INSERT, UPDATE, DELETE) are disabled in the UI. Table and column management is also hidden regardless of `manage_tables`. Defaults to `false`. |
| `unix_socket` | bool | `true` if the driver can dial a local Unix socket instead of host:port. Shows the **Socket Path** field in the connection editor even without an SSH tunnel (with SSH enabled the field appears for every network driver, since the tunnel does the socket dialing); the path reaches the plugin in the connection params as `unix_socket_path`. `unixSocket` is also accepted. Defaults to `false`. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Inconsistent field name casing

The connections table uses "Socket path" (sentence case), but this capability description uses "Socket Path" (title case). For consistency with the table, use sentence case.

Suggested change
| `unix_socket` | bool | `true` if the driver can dial a local Unix socket instead of host:port. Shows the **Socket Path** field in the connection editor even without an SSH tunnel (with SSH enabled the field appears for every network driver, since the tunnel does the socket dialing); the path reaches the plugin in the connection params as `unix_socket_path`. `unixSocket` is also accepted. Defaults to `false`. |
| `unix_socket` | bool | `true` if the driver can dial a local Unix socket instead of host:port. Shows the **Socket path** field in the connection editor even without an SSH tunnel (with SSH enabled the field appears for every network driver, since the tunnel does the socket dialing); the path reaches the plugin in the connection params as `unix_socket_path`. `unixSocket` is also accepted. Defaults to `false`. |

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant