Hostname-Strategie und statische Hosts #35

Merged
Sebi merged 1 commits from feat/hostname-static-hosts into main 2026-11-13 22:49:45 +00:00
Owner

Resolver-Strategie hostname

  • Verbindet über den NetBox-Namen statt einer IP; resolver.hostname_domain wird an Namen ohne Punkt angehängt.
  • Position in der Kette entscheidet: [hostname] = immer per Name, [primary_ip, hostname] = Name nur, wenn NetBox keine IP hat. Ungültige DNS-Namen fallen zur nächsten Strategie durch.
  • Im Configurator (Resolver & Cache) wählbar, inkl. „Hostname domain“.

Statische Hosts (hosts:)

  • Für Rechner, die nicht in NetBox sind: Adresse (IP oder DNS), User, Port, Tags, eigene SSH-Optionen.
  • Werden vor NetBox geprüft (Name oder Kurzname), laufen ab nie, überstehen cache refresh/clear, funktionieren offline und ganz ohne NetBox.
  • Überall nutzbar: ssh, sftp, scp, tunnel, Shortcuts, Rules (kind: static oder Tags), Completion, Aliase, TUI inkl. Zuletzt-benutzt-Liste, lokale Notizen.
  • Verwaltung: netssh hosts list|add|remove (--user, --port, --tag, --replace) und Menüpunkt „Static hosts“ in netssh configure; der Configurator erlaubt jetzt auch „ohne NetBox weiter“.

Tests

  • go test ./... grün; neue Tests für Strategie, Config-Validierung, Cache-Overlay (Persistenz der Nutzung, Entfernen, Clear), Configurator-Save, und Subprozess-Tests: statische Hosts ohne NetBox (ssh/sftp/scp, Kurzname, Rules, Completion, Aliase), hosts-CLI, hostname-Strategie gegen einen NetBox-Testserver.
  • Configurator-Ablauf per pty-Skript durchgespielt (ohne NetBox → Host anlegen → speichern → verbinden); dabei einen Validierungsfehler im Host-Formular gefunden und behoben.

🤖 Generated with Claude Code

## Resolver-Strategie `hostname` - Verbindet über den NetBox-Namen statt einer IP; `resolver.hostname_domain` wird an Namen ohne Punkt angehängt. - Position in der Kette entscheidet: `[hostname]` = immer per Name, `[primary_ip, hostname]` = Name nur, wenn NetBox keine IP hat. Ungültige DNS-Namen fallen zur nächsten Strategie durch. - Im Configurator (Resolver & Cache) wählbar, inkl. „Hostname domain“. ## Statische Hosts (`hosts:`) - Für Rechner, die nicht in NetBox sind: Adresse (IP oder DNS), User, Port, Tags, eigene SSH-Optionen. - Werden vor NetBox geprüft (Name oder Kurzname), laufen ab nie, überstehen `cache refresh`/`clear`, funktionieren offline und ganz ohne NetBox. - Überall nutzbar: ssh, sftp, scp, tunnel, Shortcuts, Rules (`kind: static` oder Tags), Completion, Aliase, TUI inkl. Zuletzt-benutzt-Liste, lokale Notizen. - Verwaltung: `netssh hosts list|add|remove` (`--user`, `--port`, `--tag`, `--replace`) und Menüpunkt „Static hosts“ in `netssh configure`; der Configurator erlaubt jetzt auch „ohne NetBox weiter“. ## Tests - `go test ./...` grün; neue Tests für Strategie, Config-Validierung, Cache-Overlay (Persistenz der Nutzung, Entfernen, Clear), Configurator-Save, und Subprozess-Tests: statische Hosts ohne NetBox (ssh/sftp/scp, Kurzname, Rules, Completion, Aliase), `hosts`-CLI, `hostname`-Strategie gegen einen NetBox-Testserver. - Configurator-Ablauf per pty-Skript durchgespielt (ohne NetBox → Host anlegen → speichern → verbinden); dabei einen Validierungsfehler im Host-Formular gefunden und behoben. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sebi added 1 commit 2026-11-13 22:46:46 +00:00
Add the hostname resolver strategy. It connects by the NetBox name
instead of an IP, with resolver.hostname_domain appended to names
without a dot. Its position in the chain decides whether it is always
used or only as a fallback (e.g. [primary_ip, hostname]); names that
are not valid DNS hostnames fall through to the next strategy.

Add static hosts under hosts: for machines that are not in NetBox,
with address, user, port, tags, and their own SSH options. They are
checked before NetBox (by name or shortcut), never expire, survive
cache refresh and clear, and work without any NetBox configured. The
cache overlays them after every load and stores only their last use,
so they appear in completion, aliases, the TUI and its recent list.
SSH options merge global, static host, then rules; rules can match
kind: static. Manage them with netssh hosts list|add|remove and in
netssh configure, which can now also continue without NetBox.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sebi merged commit 3c9e54b254 into main 2026-11-13 22:49:45 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Sebi/ssh-netbox-wrapper#35