diff --git a/collab/SupportStack/BuildTheStack b/collab/SupportStack/BuildTheStack index afb93e0..583ae66 100644 --- a/collab/SupportStack/BuildTheStack +++ b/collab/SupportStack/BuildTheStack @@ -39,16 +39,28 @@ Create a proof of concept with docker-socket-proxy, homepage, and wakaapi compon - Resource utilization must be within specified limits before moving to the next component - Integration tests with previously completed components must pass before moving forward - Homepage must automatically detect and display all services with proper labels +- Specific validation checkpoints after each service deployment: + - docker-socket-proxy: Validate Docker socket access and network connectivity to Docker daemon + - homepage: Validate homepage starts and can connect to Docker socket proxy, verify UI is accessible + - wakaapi: Validate service starts and can be integrated into homepage with proper labels +- Each service must be validated in homepage dashboard after integration +- Update STATUS.md with validation results for each component ## Technical Specifications - No Bitnami images allowed -- Use official or trusted repository images only +- Use official or trusted repository images only: + - docker-socket-proxy: tecnativa/docker-socket-proxy (pinned version tag) + - homepage: gethomepage/homepage (pinned version tag) + - wakaapi: ghcr.io/ekkinox/wakaapi (pinned version tag) - Implement Docker Compose orchestration - Use Docker named volumes for ephemeral storage - Implement proper resource limits in docker-compose.yml: CPU: 0.5-1.0 cores per service, Memory: 128MB-512MB per service (variable based on service type), Disk: 1GB per service for ephemeral volumes - Implement comprehensive health checks for all services with appropriate intervals and timeouts - Implement proper networking (internal only) -- All ports bound to localhost (127.0.0.1) +- All ports bound to localhost (127.0.0.1) with specific port assignments: + - docker-socket-proxy: Internal network only, no external ports exposed + - homepage: Port 3000 (localhost only) - configurable via environment variable + - wakaapi: Port 3001 (localhost only) - configurable via environment variable - All environment variables must be pre-set in TSYSDevStack-SupportStack-Demo-Settings file (single settings file for simplicity in demo) - All docker compose files (one per component) should be prefixed with: TSYSDevStack-SupportStack-Demo-DockerCompose- - All docker compose files should use environment variables for everything (variables will be set in TSYSDevStack-SupportStack-Demo-Settings file) @@ -74,6 +86,9 @@ Create a proof of concept with docker-socket-proxy, homepage, and wakaapi compon ## Component Definition of Done - All health checks pass consistently for each component + - docker-socket-proxy: HTTP health check on / (internal only) + - homepage: HTTP health check on /api/health (internal only) + - wakaapi: HTTP health check on /health (internal only) - Test suite passes with 100% success rate (unit, integration, e2e) - Code coverage of >75% for each component - Resource limits properly implemented and validated (CPU: 0.5-1.0 cores, Memory: 128MB-512MB, Disk: 1GB per service) @@ -89,6 +104,7 @@ Create a proof of concept with docker-socket-proxy, homepage, and wakaapi compon - All dependencies properly specified and resolved using depends_on with health checks - Component properly labeled with homepage integration labels (homepage.group, homepage.name, homepage.icon, etc.) - Container uses pinned image tags rather than 'latest' +- Services validate properly in homepage after integration ## Testing Requirements - Unit tests for each component configuration