# Hermes Container SSH Configuration
# For NixOS deployment to remote hosts
#
# Usage:
#   cp scripts/deploy-ssh-config ~/.ssh/config.d/hermes-include
#   Or: cat scripts/deploy-ssh-config >> ~/.ssh/config
#
# This config covers all NixOS hosts managed from the Hermes container.
# Lazyworkhorse has two users: ai-worker (primary automation) and gortium (admin).
# Cyt-pi connects via reverse SSH tunnel on port 19999.
# uConsole is a placeholder until LAN-hostname resolution is confirmed.

# ── Global defaults ──────────────────────────────────────────────────
Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3
    TCPKeepAlive yes
    Compression yes
    CompressionLevel 6
    ControlMaster auto
    ControlPath ~/.ssh/controlmasters/%r@%h:%p
    ControlPersist 10m
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

# ── Hosts ──────────────────────────────────────────────────────────────

# Lazyworkhorse — x86_64 main server (ai-worker@lazyworkhorse.net:2424)
Host lazyworkhorse
    HostName lazyworkhorse.net
    User ai-worker
    Port 2424
    IdentityFile /opt/data/home/.ssh/id_hermes_gitea

# Lazyworkhorse — admin access (gortium@lazyworkhorse.net:2425)
Host lazyworkhorse-admin
    HostName lazyworkhorse.net
    User gortium
    Port 2425
    IdentityFile /opt/data/home/.ssh/id_hermes_gitea

# Cyt-pi — aarch64 Pi Zero 2 W
# Connected via reverse SSH tunnel (gortium directs tunnel to :19999)
Host cyt-pi
    HostName localhost
    User gortium
    Port 19999
    IdentityFile /opt/data/home/.ssh/id_hermes_gitea

# uConsole — aarch64 ClockworkPi (placeholder hostname)
# Replace uconsole.lan with actual IP/hostname when deployed
Host uConsole uconsole
    HostName uconsole.lan
    User gortium
    Port 22
    IdentityFile /opt/data/home/.ssh/id_hermes_gitea

# ── Gitea host — for git operations ──────────────────────────────────
Host code
    HostName code.lazyworkhorse.net
    Port 2222
    User gortium
    IdentityFile /opt/data/home/.ssh/id_hermes_gitea
