Files
labFusion/docs/structure.txt
glenn schrooyen e55c642db2
Some checks failed
API Gateway (Java Spring Boot) / test (17) (push) Failing after 2s
API Gateway (Java Spring Boot) / test (21) (push) Failing after 3s
API Gateway (Java Spring Boot) / build (push) Has been skipped
API Gateway (Java Spring Boot) / security (push) Has been skipped
LabFusion CI/CD Pipeline / api-gateway (push) Failing after 3s
LabFusion CI/CD Pipeline / service-adapters (push) Failing after 3s
LabFusion CI/CD Pipeline / api-docs (push) Failing after 3s
Service Adapters (Python FastAPI) / test (3.1) (push) Failing after 3s
LabFusion CI/CD Pipeline / frontend (push) Failing after 2s
LabFusion CI/CD Pipeline / integration-tests (push) Has been skipped
LabFusion CI/CD Pipeline / security-scan (push) Has been skipped
Service Adapters (Python FastAPI) / test (3.11) (push) Failing after 2s
Frontend (React) / test (16) (push) Failing after 2s
Service Adapters (Python FastAPI) / test (3.12) (push) Failing after 2s
Frontend (React) / test (18) (push) Failing after 3s
Service Adapters (Python FastAPI) / test (3.9) (push) Failing after 3s
Frontend (React) / test (20) (push) Failing after 3s
Service Adapters (Python FastAPI) / build (push) Has been skipped
Service Adapters (Python FastAPI) / security (push) Has been skipped
Frontend (React) / build (push) Has been skipped
Frontend (React) / security (push) Has been skipped
Frontend (React) / lighthouse (push) Has been skipped
Docker Build and Push / build-and-push (push) Failing after 4m52s
Docker Build and Push / security-scan (push) Has been skipped
Integration Tests / integration-tests (push) Failing after 2s
Docker Build and Push / deploy-staging (push) Has been skipped
Integration Tests / performance-tests (push) Has been skipped
Docker Build and Push / deploy-production (push) Has been skipped
API Docs (Node.js Express) / test (16) (push) Failing after 2s
API Docs (Node.js Express) / test (18) (push) Failing after 2s
API Docs (Node.js Express) / test (20) (push) Failing after 2s
API Docs (Node.js Express) / build (push) Has been skipped
API Docs (Node.js Express) / security (push) Has been skipped
Refactor CI workflows to reorder runner labels for improved clarity and consistency across API Docs, API Gateway, Service Adapters, Frontend, and Integration Tests; update documentation to include new runner labels and optimization recommendations.
2025-09-13 01:16:32 +02:00

121 lines
7.6 KiB
Plaintext

labfusion/
├── docker-compose.yml # Production Docker setup
├── docker-compose.dev.yml # Development Docker setup
├── env.example # Environment configuration template
├── .gitignore # Git ignore rules
├── README.md # Comprehensive documentation
├── .gitea/ # Gitea Actions CI/CD
│ └── workflows/ # Pipeline definitions
│ ├── ci.yml # Main CI pipeline
│ ├── api-gateway.yml # Java Spring Boot pipeline
│ ├── service-adapters.yml # Python FastAPI pipeline
│ ├── api-docs.yml # Node.js Express pipeline
│ ├── frontend.yml # React frontend pipeline
│ └── integration-tests.yml # Integration testing
├── services/ # Modular microservices
│ ├── api-gateway/ # Java Spring Boot API Gateway (Port 8080)
│ │ ├── src/main/java/com/labfusion/
│ │ │ ├── model/ # JPA entities (User, Dashboard, Widget, Event, DeviceState)
│ │ │ ├── repository/ # Data repositories
│ │ │ ├── service/ # Business logic
│ │ │ └── controller/ # REST controllers
│ │ ├── src/main/resources/
│ │ │ └── application.yml # Spring configuration
│ │ ├── pom.xml # Maven dependencies
│ │ ├── Dockerfile # Production container
│ │ ├── Dockerfile.dev # Development container
│ │ └── README.md # Service documentation
│ ├── service-adapters/ # Python FastAPI Service Adapters (Port 8000)
│ │ ├── main.py # FastAPI application (modular)
│ │ ├── models/ # Pydantic schemas
│ │ │ ├── __init__.py
│ │ │ └── schemas.py # Request/response models
│ │ ├── routes/ # API endpoints
│ │ │ ├── __init__.py
│ │ │ ├── general.py # Root, health, services
│ │ │ ├── home_assistant.py # HA integration
│ │ │ ├── frigate.py # Frigate integration
│ │ │ ├── immich.py # Immich integration
│ │ │ └── events.py # Event management
│ │ ├── services/ # Business logic
│ │ │ ├── __init__.py
│ │ │ ├── config.py # Service configurations
│ │ │ └── redis_client.py # Redis connection
│ │ ├── requirements.txt # Python dependencies
│ │ ├── Dockerfile # Production container
│ │ ├── Dockerfile.dev # Development container
│ │ └── README.md # Service documentation
│ ├── metrics-collector/ # Go Metrics Collector (Port 8081) 🚧
│ │ ├── main.go # Go application (planned)
│ │ ├── go.mod # Go dependencies (planned)
│ │ ├── Dockerfile # Production container (planned)
│ │ ├── Dockerfile.dev # Development container (planned)
│ │ └── README.md # Service documentation
│ ├── notification-service/ # Node.js Notification Service (Port 8082) 🚧
│ ├── src/ # TypeScript source (planned)
│ ├── package.json # Node.js dependencies (planned)
│ ├── Dockerfile # Production container (planned)
│ ├── Dockerfile.dev # Development container (planned)
│ └── README.md # Service documentation
│ └── api-docs/ # API Documentation Service (Port 8083) ✅
│ ├── server.js # Express server for unified docs
│ ├── package.json # Node.js dependencies
│ ├── Dockerfile # Production container
│ ├── Dockerfile.dev # Development container
│ └── README.md # Service documentation
├── frontend/ # React Frontend (Port 3000)
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── common/ # Reusable UI components
│ │ │ │ ├── ErrorBoundary.js # Error boundary component
│ │ │ │ ├── LoadingSpinner.js # Loading state component
│ │ │ │ └── StatusIcon.js # Status icon component
│ │ │ ├── dashboard/ # Dashboard-specific components
│ │ │ │ ├── SystemStatsCards.js # System statistics cards
│ │ │ │ ├── ServiceStatusList.js # Service status list
│ │ │ │ └── RecentEventsList.js # Recent events list
│ │ │ ├── Dashboard.js # Main dashboard (refactored)
│ │ │ ├── SystemMetrics.js # Metrics visualization
│ │ │ ├── Settings.js # Configuration UI
│ │ │ ├── ServiceStatusBanner.js # Service status banner
│ │ │ └── OfflineMode.js # Offline mode component
│ │ ├── hooks/ # Custom React hooks
│ │ │ └── useServiceStatus.js # Service status and data hooks
│ │ ├── services/ # API and external services
│ │ │ └── api.js # Centralized API client
│ │ ├── utils/ # Utility functions
│ │ │ └── errorHandling.js # Error handling utilities
│ │ ├── constants/ # Configuration constants
│ │ │ └── index.js # UI constants, colors, messages
│ │ ├── App.js # Main app component (with ErrorBoundary)
│ │ ├── index.js # App entry point
│ │ └── index.css # Global styles
│ ├── public/
│ │ └── index.html # HTML template
│ ├── package.json # Node.js dependencies (with prop-types)
│ ├── Dockerfile # Production container
│ ├── Dockerfile.dev # Development container
│ ├── CLEAN_CODE.md # Clean code documentation
│ └── RESILIENCE.md # Frontend resilience features
# Docker Compose for Runners
runners/
docker-compose.runners.yml # Multi-runner Docker Compose setup
env.runners.example # Environment template for runners
manage-runners.sh # Linux/macOS runner management script
config_heavy.yaml # Configuration for heavy workloads (Java/Python)
config_light.yaml # Configuration for light workloads (Node.js/Frontend)
config_docker.yaml # Configuration for Docker workloads
config_security.yaml # Configuration for security workloads
data/ # Shared data directory
data_light/ # Light runner data directory
data_docker/ # Docker runner data directory
data_security/ # Security runner data directory
└── docs/ # Documentation
├── specs.md # Project specifications
├── structure.txt # Project structure
├── progress.md # Development progress tracking
├── RUNNERS.md # Gitea runners setup and management
├── RUNNER_LABELS.md # Runner labels technical documentation
├── OPTIMIZATION_RECOMMENDATIONS.md # CI/CD optimization recommendations
└── CI_CD.md # CI/CD pipeline documentation