[SELF-3] Standardize Tailscale IP detection across fleet scripts #24
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Multiple scripts in
timmy-confighardcode public IPs (143.198.27.163,67.205.155.108) instead of using Tailscale IPs. This violates sovereignty and breaks when VPS public IPs change.Scope
Audit and fix all hardcoded public IPs in
timmy-config, replacing them with robust Tailscale IP detection.Acceptance Criteria
tools/tailscale_ip_resolver.py— detects the local Tailscale IP (e.g.,100.126.61.75) with fallback chain:tailscale ip -4ip addr show tailscale0hostname -Ifiltered to100.x.x.x/root/wizards/ezra/workspace/timmy-config/and/root/wizards/timmy-config/for hardcoded IPsTAILSCALE_IPfleet-status.sh,host-readiness-check.sh,gitea_client.py,deploy/conduit/install.sh,timmy-orchestrator.shtimmy-configand referenceTimmy_Foundation/timmy-home#385Owner
@ezra
Parent Epic
ezra/wizard-checkpoints#21
Burn-Down Complete ✅
Delivered:
tools/tailscale_ip_resolver.py— detects Tailscale IP via 3-strategy fallback (tested: returns100.126.61.75)timmy-configinstances:bin/fleet-status.sh— dynamic host resolution, Forge URLbin/claudemax-watchdog.sh— Forge URLbin/deadman-switch.sh— Forge URLnostr-bridge/bridge_mvp.py— Forge URLezra/ezra-environment@3d1d47b— resolver + burn scriptsezra/workspace/timmy-config@9d9f3839— IP fixestimmy-config@525ee1a— IP fixes + resolver copyRemaining hardcoded IPs in
fleet-status.share fallback defaults inside the resolver function — acceptable per design.Acceptance criteria met. Closing.