1 contributor
51 lines | 1.928kb

Table: host_ssh

Stores SSH access profiles separately from hosts.

Columns

Column Type Null Default Notes
host_fqdn TEXT no none Target host. References hosts(fqdn).
profile_name TEXT no 'default' SSH profile name.
username TEXT no '' SSH username.
port INTEGER no 22 SSH port.
identity_file TEXT no '' SSH identity path or key label.
address TEXT no '' Optional override address.
local_forward_host TEXT no '' Optional local-forward host.
local_forward_port INTEGER yes NULL Optional local-forward port.
remote_forward_host TEXT no '' Optional remote-forward host.
remote_forward_port INTEGER yes NULL Optional remote-forward port.
notes TEXT no '' Operator notes.
created_at TEXT no none ISO UTC creation timestamp.
updated_at TEXT no none ISO UTC update timestamp.

Keys And Indexes

  • Primary key: (host_fqdn, profile_name)

Relationships

  • host_fqdn references hosts(fqdn) with ON UPDATE CASCADE ON DELETE RESTRICT

Definition

CREATE TABLE IF NOT EXISTS host_ssh (
    host_fqdn TEXT NOT NULL,
    profile_name TEXT NOT NULL DEFAULT 'default',
    username TEXT NOT NULL DEFAULT '',
    port INTEGER NOT NULL DEFAULT 22,
    identity_file TEXT NOT NULL DEFAULT '',
    address TEXT NOT NULL DEFAULT '',
    local_forward_host TEXT NOT NULL DEFAULT '',
    local_forward_port INTEGER,
    remote_forward_host TEXT NOT NULL DEFAULT '',
    remote_forward_port INTEGER,
    notes TEXT NOT NULL DEFAULT '',
    created_at TEXT NOT NULL,
    updated_at TEXT NOT NULL,
    PRIMARY KEY (host_fqdn, profile_name),
    FOREIGN KEY (host_fqdn) REFERENCES hosts(fqdn) ON UPDATE CASCADE ON DELETE RESTRICT
);