Overview
Add validation to prevent invalid tracker configurations where multiple services attempt to bind to the same socket address (IP + Port + Protocol). The deployer currently accepts configurations that cause runtime failures when services cannot bind to already-occupied ports.
Problem: Users can create environment configurations with port conflicts that pass validation during create environment but fail at runtime during run, causing tracker container restart loops with unclear error messages.
Solution: Implement socket address uniqueness validation at configuration load time with clear, actionable error messages.
Related Documentation
Goals
Architecture Requirements
DDD Layer: Domain
Module Path: src/domain/tracker/
Pattern: Value Object with validation logic
Implementation
See detailed implementation plan in:
docs/issues/add-socket-address-uniqueness-validation.md
Estimated effort: ~8 hours across 4 phases (TDD approach - tests integrated with implementation)
- Domain Model Enhancement (2-3 hours) - includes unit tests
- Validation Logic (3-4 hours) - includes unit and integration tests
- Error Messages (1-2 hours) - includes formatting tests
- Documentation (1 hour)
Acceptance Criteria
Overview
Add validation to prevent invalid tracker configurations where multiple services attempt to bind to the same socket address (IP + Port + Protocol). The deployer currently accepts configurations that cause runtime failures when services cannot bind to already-occupied ports.
Problem: Users can create environment configurations with port conflicts that pass validation during
create environmentbut fail at runtime duringrun, causing tracker container restart loops with unclear error messages.Solution: Implement socket address uniqueness validation at configuration load time with clear, actionable error messages.
Related Documentation
envs/bug-test-actual-conflict.jsonGoals
create environmentrather than at runtimeArchitecture Requirements
DDD Layer: Domain
Module Path:
src/domain/tracker/Pattern: Value Object with validation logic
Implementation
See detailed implementation plan in:
docs/issues/add-socket-address-uniqueness-validation.md
Estimated effort: ~8 hours across 4 phases (TDD approach - tests integrated with implementation)
Acceptance Criteria