Claude Agent
6718c956f7
feat: [US-004] Add SSH tunnel auto-start for Windows services
- Add ssh-tunnel.ps1: Windows SSH tunnel manager (equivalent to ssh-tunnel.sh)
- Supports password auth via plink.exe (PuTTY)
- Supports ssh_hostkey for non-interactive batch mode
- Commands: start, stop, restart, status
- Add start-backend-service.ps1: NSSM service wrapper
- Starts SSH tunnels before uvicorn
- Waits for tunnel ports to be accessible (30s timeout)
- Configured by Install-ROA2WEB.ps1
- Add start.ps1: Windows equivalent of start.sh
- Orchestrates SSH tunnel + backend + frontend startup
- Add backend/shared/ssh_tunnel_manager.py: Python monitoring
- Background asyncio task monitors tunnel health every 30s
- Auto-restarts tunnels after 2 consecutive failures
- Exposes status to /health endpoint
- Update ROA2WEB-Console.ps1:
- Add Deploy-Scripts function
- Update Update-ServiceToUseVenv to use wrapper script
- Fix PowerShell reserved variable ($PID -> $tunnelPid)
- Fix script path detection (scripts/ vs deployment/windows/scripts/)
- Update README.md with ssh_hostkey documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>