tree 80afc394ad900e6e7a0a7b524972a303ef90ef15
parent 457dfd12f281dbe9b1af8d1a7429f2977e234a6f
author Sean McCullough <banksean@gmail.com> 1748904126 +0000
committer Sean McCullough <banksean@gmail.com> 1748911958 -0700

loop: automatic host/container ssh port tunneling

Fix for #47

Add comprehensive port event monitoring and automatic SSH tunnel management
system that enables real-time port forwarding for container services.

Container processes need automatic port forwarding when services start or stop
listening on ports during agent execution. Previously, users had to manually
create SSH tunnels using commands like 'ssh -L8000:localhost:8888 container',
which required manual intervention and knowledge of when ports become available.

- Extended PortMonitor with thread-safe event storage using circular buffer
- Added PortEvent struct with type (opened/closed), port info, and timestamps
- Maintained backward compatibility with existing logging functionality
- Events stored in 100-item circular buffer with efficient timestamp filtering

- Added /port-events endpoint in loophttp.go for container-to-host communication
- Supports optional 'since' query parameter for incremental event fetching
- Returns JSON array of recent port events with proper error handling
- Integrated with existing Agent interface via GetPortMonitor() method

- Created TunnelManager component for host-side tunnel orchestration
- Polls container /port-events endpoint every 10 seconds for new events
- Automatically creates SSH tunnels when ports open using same port numbers
- Properly cleans up tunnels when ports close or context cancels
- Skips common system ports (SSH, HTTP, SMTP) to avoid conflicts

- Integrated TunnelManager into dockerimg.LaunchContainer() workflow
- Starts tunnel manager alongside existing container management goroutines
- Only activates when SSH is available and configured properly
- Uses existing SSH infrastructure and container naming conventions

- Container PortMonitor detects port changes via ss -lntu command
- Events stored with RFC3339 timestamps for precise filtering
- Thread-safe access patterns with dedicated mutex protection
- Circular buffer prevents unbounded memory growth

- RESTful GET /port-events endpoint with time-based filtering
- Proper JSON encoding/decoding with error handling
- Integration with existing HTTP server infrastructure
- Non-blocking polling pattern with configurable intervals

- Uses existing SSH theater configuration and host keys
- Creates tunnels with format: ssh -L hostPort:localhost:containerPort container
- Background monitoring of tunnel processes with automatic cleanup
- Proper context cancellation and resource management

- Added comprehensive port event storage and filtering tests
- HTTP endpoint testing with mock agents and proper status codes
- Verified thread-safe access patterns and circular buffer behavior
- All existing loop package tests continue to pass

- Confirmed HTTP endpoint returns proper JSON responses
- Validated tunnel manager integrates with container launch process
- Verified SSH tunnel creation follows existing authentication patterns
- Build verification confirms no regressions in existing functionality

- Automatic port forwarding eliminates manual SSH tunnel management
- Real-time port detection provides immediate service accessibility
- Transparent integration with existing Sketch container workflow
- Maintains all existing SSH functionality and manual override options

- Clean separation between container monitoring and host tunnel management
- Extensible event-based architecture for future port-related features
- Minimal performance impact with efficient polling and filtering
- Robust error handling and graceful degradation when SSH unavailable

This enhancement provides seamless port forwarding automation while maintaining
the reliability and security of the existing SSH infrastructure, significantly
improving the developer experience when working with containerized services.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s6bc363ed64835e5dk
