[api] Detect Tailscale IP and expose it #1

Closed
maks wants to merge 1 commit from task/5bcd399a-detect-tailscale-ip-and-expo into master
Owner

Implemented by Claude Code agent

Task: On startup and on-demand, detect the Tailscale IP (parse tailscale status --json or read from /proc). Expose via GET /api/system/network. Cache with 60s TTL. Fallback to local IP if Tailscale isn't running.

Success Criteria:
GET /api/system/network returns {tailscale_ip, local_ip, hostname}. Branch preview URLs are constructed as http://{tailscale_ip}:{port}. Works when Tailscale is up, degrades gracefully when it's not.


⚠️ Review score: 69/100 — BELOW threshold (85) — needs manual review

Implemented by Claude Code agent **Task:** On startup and on-demand, detect the Tailscale IP (parse `tailscale status --json` or read from /proc). Expose via GET /api/system/network. Cache with 60s TTL. Fallback to local IP if Tailscale isn't running. **Success Criteria:** GET /api/system/network returns {tailscale_ip, local_ip, hostname}. Branch preview URLs are constructed as http://{tailscale_ip}:{port}. Works when Tailscale is up, degrades gracefully when it's not. --- ⚠️ Review score: **69/100** — BELOW threshold (85) — needs manual review
Detects Tailscale IP via `tailscale status --json`, falls back to local IP
when Tailscale isn't running. Caches results with 60s TTL. Returns
{tailscale_ip, local_ip, hostname} for constructing branch preview URLs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
maks closed this pull request 2026-04-07 21:16:11 +02:00

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
maks/shipfast!1
No description provided.