- Added SystemHealthChecker to collect CPU, memory, disk, and load average metrics.
- Implemented methods to retrieve system information from /proc filesystem.
- Introduced a new method to collect metrics and return a SystemMetrics struct.
- Added tests for metric collection and parsing functions.
feat: Enhance agent runtime with state management and health monitoring
- Created AgentState struct to manage agent state with RwLock for concurrency.
- Refactored agent start logic to initialize cache and start health monitoring.
- Implemented connection loop with reconnection logic and health report handling.
- Added config update handling with nginx controller integration.
feat: Expand master client functionality for bidirectional streaming
- Updated MasterClient to support bidirectional streaming for health reports.
- Implemented registration logic with the master server.
- Added methods for sending messages and managing connection state.
feat: Improve nginx configuration management and rendering
- Enhanced ConfigManager for atomic symlink swaps and configuration validation.
- Implemented ConfigRenderer using Handlebars for dynamic nginx configuration generation.
- Added methods for applying, rolling back, and cleaning up configurations.
- Introduced tests for configuration rendering and validation.
feat: Implement nginx process control with lifecycle management
- Added methods to start, stop, reload, and test nginx configurations.
- Implemented graceful and immediate stop functionality.
- Enhanced error handling and logging for nginx operations.
- Added tests for deployment mode parsing and nginx lifecycle management.
- Added `SetupService` to handle the generation and validation of setup tokens.
- Integrated setup token generation during application startup if no admin users exist.
- Created API endpoints for checking setup status and completing the initial setup.
- Updated `AuthService` to include functionality for creating the initial admin user.
- Enhanced error handling for setup and authentication processes.
- Added frontend components for login and protected routes.
- Implemented Zustand store for managing authentication state.
- Updated Vite configuration to check setup status and serve the setup page if required.
- Documented the initial setup process in `setup.md`.
- Implemented Header, Sidebar, and Layout components for consistent UI structure.
- Created pages for Agents, Certificates, Configurations, Dashboard, and Settings.
- Integrated React Query for data fetching in Agents, Certificates, Configurations, and Dashboard pages.
- Added Tailwind CSS for styling and responsive design.
- Established a utility function for conditional class names.
- Set up Vite configuration for React project with TypeScript support.
- Included global styles and Tailwind CSS configuration.
- Created `project-structure.md` to outline the directory layout, crate dependencies, design principles, module guidelines, and naming conventions for the NxMesh codebase.
- Introduced `roadmap.md` detailing the development phases, milestones, tasks, deliverables, and resource requirements for the NxMesh project, spanning from foundational setup to enterprise features.
- Add Docker Compose configuration for development environment
- Create Nginx configuration files for routing and health checks
- Set up PostgreSQL database with health checks
- Add .dockerignore and .gitignore files to exclude unnecessary files
- Initialize Cargo.toml and Cargo.lock for Rust dependencies
- Include GNU General Public License for project
- Add README.md for project description
- Create Justfile for development workflow commands