Commit Graph

8 Commits

Author SHA1 Message Date
William Tan ba165ab4a4 Add --region flag to wake command for cross-region restores
Allow overriding the snapshot's original region when waking a
hibernated droplet. Falls back to snapshot metadata, or errors
with an actionable hint if neither is available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:44:25 -05:00
William Tan c8fe3cd7c3 Show Tailscale IP in droplet list (#39)
Add a Tailscale IP column to `dropkit ls` output. The IP is read from
the SSH config — if the configured hostname is a Tailscale IP (100.x.x.x),
it's displayed; otherwise shows "—".

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 09:57:09 +01:00
William Tan b1a25d88d0 Fix Tailscale logout ordering to prevent SSH connectivity loss (#40)
Update both `prepare_for_hibernate` and `destroy` to switch SSH config
to the droplet's public IP before logging out of Tailscale. Previously,
the Tailscale logout happened first, which killed the Tailscale IP route
that SSH was using — causing the logout command itself to hang or fail.

Also adds `--verbose` flag to the `hibernate` command.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 09:50:04 +01:00
William Tan 5653454ea6 add some aliases, list => ls, destroy => rm (#38) 2026-02-20 08:46:16 +01:00
William Tan 77069f5516 Allow resizing hibernated droplets by modifying the size tag (#34)
* allow resizing hibernated droplets by modifying the size tag

* Prevent removal of protected tags (owner, firewall) in untag_resource

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 12:49:24 -05:00
William Tan b5c099840b Fix macOS Tailscale CLI discovery for App Store installs (#35)
* Fix macOS Tailscale CLI discovery for App Store installs

On macOS, Tailscale installed via the App Store places its CLI at
/Applications/Tailscale.app/Contents/MacOS/Tailscale, which is not in
PATH. Add find_tailscale_cli() helper that checks PATH first, then
falls back to the macOS App Store location on darwin.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Address PR feedback: better error message, remove excessive test

Distinguish "Tailscale not found" from "not running" when the local
check fails, so users know whether to install or start Tailscale.
Remove the overly comprehensive binary_vanishes race condition test.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 12:48:17 -05:00
Riccardo Schirone 9895dd9d5e Fix known_hosts removal for hashed entries (#28)
Replace manual file parsing with ssh-keygen -R which properly handles
both hashed (|1|...) and unhashed entries. macOS and many Linux systems
use HashKnownHosts by default, making the previous implementation unable
to remove entries.

Changes:
- Use ssh-keygen -R for each hostname instead of parsing the file
- Detect successful removal via "updated" in stdout
- Backup files are now .old (ssh-keygen default) instead of .bak
- Bracketed entries ([host]:port) now require exact format

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:58:05 -05:00
Dan Guido bc36073036 Initial commit 2026-01-29 21:53:58 -05:00