Commit Graph
248 Commits
Author SHA1 Message Date
github-actions[bot] 4e1d0371cf chore: bump version to 1.2.28 [skip ci] 2026-01-19 21:13:42 +00:00
Juan Denis 7bf25f67c8 Redesign dashboard layout and metrics graph
Revamps the dashboard page with a new pro layout, including updated metric tiles, a new chart panel, and a spec panel for hardware info and quick actions. The MetricsGraph component now uses CPU, Memory, and Network (replacing Disk) with updated colors and filter legend. Sidebar user profile is restyled, and related LESS styles are updated for the new design.
2026-01-19 16:13:34 -05:00
github-actions[bot] 5838e1cee0 chore: bump version to 1.2.27 [skip ci] 2026-01-19 20:30:45 +00:00
Juan Denis 64141a9413 Add execution plan for Log Viewer UI phase
Updated STATE.md to mark the Log Viewer UI phase as 'Planning Complete' and added a detailed execution plan in phases/23-log-viewer-ui/PLAN.md. The plan outlines architecture, tasks, component structure, and success criteria for implementing a real-time container log viewer with ANSI color support and streaming controls.
2026-01-19 15:28:39 -05:00
Juan DenisandClaude Opus 4.5 4a5c474e4b fix(workflow): Start containers and pass DB credentials on deploy
- Add compose_up() call to start containers after creating docker files
- Update app status to 'running' on successful container start
- Pass database password (DB_PASSWORD) to app environment variables
- Store credentials in created_resources for proper propagation
- Return warning if containers fail to start (app still created)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 15:27:02 -05:00
Juan DenisandClaude Opus 4.5 33fd67579f docs(22): Complete Container Logs API phase
- Phase 22 completed with 3 commits
- Added REST endpoint GET /apps/{id}/container-logs
- Added WebSocket streaming via subscribe_container_logs
- SUMMARY.md documents API reference and implementation
- STATE.md updated to Phase 23
- ROADMAP.md Phase 22 marked completed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 14:47:12 -05:00
Juan DenisandClaude Opus 4.5 f55e399021 feat(22-3): Add WebSocket container log streaming
- Add subscribe_container_logs event for real-time log streaming
- Add unsubscribe_container_logs event to stop streaming
- Stream logs via docker logs --follow subprocess
- Parse log lines with timestamp and level detection
- Emit container_log events to room logs_{app_id}
- Handle container_log_ended when container stops
- Clean up processes on disconnect or unsubscribe
- Support service selection for compose apps

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 14:45:50 -05:00
Juan DenisandClaude Opus 4.5 744c626edb feat(22-2): Add container-logs REST API endpoint
- Add GET /apps/{id}/container-logs with tail, since, timestamps, format params
- Add GET /apps/{id}/containers to list containers for compose apps
- Support 'raw' and 'json' output formats
- Include container state and available services in response
- Cap log lines at 10000 for performance
- Handle service selection for multi-container compose apps

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 14:44:51 -05:00
Juan DenisandClaude Opus 4.5 f3010d9983 feat(22-1): Add streaming logs and container resolution to DockerService
- Add stream_container_logs() for real-time log streaming via subprocess
- Add get_app_container_id() to resolve container ID from app model
- Add get_all_app_containers() for compose apps with multiple containers
- Add parse_log_line() to extract timestamp and detect log level
- Add parse_logs_to_lines() for batch parsing
- Add get_container_state() to check if container is running

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 14:44:05 -05:00
Juan DenisandClaude Opus 4.5 c25ea38517 feat: Create Milestone 4 - Container Logs & Monitoring (v1.3)
- 7 phases: Container Logs API, Log Viewer UI, Log Search/Filtering,
  Per-App Resource Collection, App Resource Graphs, Alert Rules Engine,
  Alert Notifications
- Created phase directories (22-28)
- Updated ROADMAP.md with full milestone plan
- Reset STATE.md for new milestone

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 14:35:43 -05:00
github-actions[bot] 78b1134d06 chore: bump version to 1.2.26 [skip ci] 2026-01-19 19:06:52 +00:00
Juan Denis 46b6d5e7ad Add server time and timezone management features
Introduces backend API endpoints and service methods for retrieving and setting server time and timezone (admin only). Updates the dashboard to display current server time and timezone, and adds a timezone selector to the settings page for admins. Includes supporting API methods and frontend styles for the new UI components.
2026-01-19 14:06:44 -05:00
github-actions[bot] acdc1b272d chore: bump version to 1.2.25 [skip ci] 2026-01-19 18:51:56 +00:00
Juan Denis 99f1cc13eb Enhance metrics display with live badge and formatting
Added a 'Live' badge to each system metric card (CPU, Memory, Disk, Network) for clarity. Updated percentage values to display with one decimal place and corrected CPU core count to use 'count_logical'.
2026-01-19 13:51:48 -05:00
github-actions[bot] 834c4136ba chore: bump version to 1.2.24 [skip ci] 2026-01-19 18:43:53 +00:00
Juan Denis 85831b9b54 Add metric filter toggles and improve validation UX
Introduces clickable filter buttons to toggle CPU, memory, and disk metrics in MetricsGraph, replacing the static legend. Refines app name validation in both backend and frontend for template installation, allowing 2+ character names and improving error handling. WorkflowBuilder now handles missing workflow data gracefully and supports a fullscreen layout. Updates related styles for new filter legend and fullscreen workflow view.
2026-01-19 13:43:46 -05:00
github-actions[bot] 0ef2e97562 chore: bump version to 1.2.23 [skip ci] 2026-01-19 18:30:59 +00:00
Juan Denis 44f3abe8d2 Enhance metrics graph visuals and tooltip UI
Switches from LineChart to AreaChart for main metrics graph, adds animated gradients and glow effects, and updates legend styling. Tooltip UI is improved with clearer layout, colored dots, and value formatting. Chart colors now use explicit hex values for better SVG compatibility, and LESS styles are updated for improved appearance and interactivity.
2026-01-19 13:30:50 -05:00
github-actions[bot] 9bb434c6af chore: bump version to 1.2.22 [skip ci] 2026-01-19 18:22:33 +00:00
Juan Denis d5cd57921c Update asset references in index.html
Changed script and stylesheet references in index.html to point to new asset files, likely after a new build.
2026-01-19 13:22:26 -05:00
Juan Denis ed390603cc fix: Replace undefined @shadow-xl with @shadow-lg 2026-01-19 13:21:42 -05:00
github-actions[bot] 650ade1aed chore: bump version to 1.2.21 [skip ci] 2026-01-19 17:42:55 +00:00
Juan Denis 384d23a999 Merge branch 'main' of https://github.com/jhd3197/ServerKit 2026-01-19 12:42:44 -05:00
Juan Denis c156c04fcc docs(21): Complete workflow deployment phase 2026-01-19 12:42:19 -05:00
Juan Denis 643b5d1b14 feat(21-7): Add deployment styles 2026-01-19 12:40:56 -05:00
Juan Denis 6f377957e2 feat(21-5): Create DeploymentProgressModal component 2026-01-19 12:40:02 -05:00
Juan Denis c5fb178a77 feat(21-4): Add deploy button and progress UI 2026-01-19 12:39:33 -05:00
Juan Denis 19643830a9 feat(21-3): Add frontend deploy API method 2026-01-19 12:38:37 -05:00
Juan Denis 83ba62bb08 feat(21-2): Add workflow deploy API endpoint 2026-01-19 12:38:12 -05:00
Juan Denis bead238379 feat(21-1): Create workflow deployment service 2026-01-19 12:37:48 -05:00
Juan Denis 20531a35c1 plan(21): Create deployment from workflow plan 2026-01-19 12:35:44 -05:00
Juan Denis 5b50bf7822 docs: Update STATE.md - Phase 20 completed 2026-01-19 12:29:47 -05:00
Juan Denis 617ec1cb6a feat(20-7): Add import existing infrastructure feature 2026-01-19 12:29:28 -05:00
Juan Denis 1d7acf267c feat(20-6): Create WorkflowListModal component 2026-01-19 12:28:44 -05:00
Juan Denis 988aedebcf feat(20-5): Add save/load UI to WorkflowBuilder 2026-01-19 12:27:36 -05:00
Juan Denis 4e2e7ec031 feat(20-4): Add frontend workflow API methods 2026-01-19 12:26:43 -05:00
Juan Denis 9c4c5dd886 feat(20-3): Register workflow blueprint 2026-01-19 12:26:26 -05:00
Juan DenisandClaude Opus 4.5 5f48bb1a37 feat(20-2): Create workflow API endpoints
- GET /workflows - List all workflows for user
- GET /workflows/<id> - Get single workflow
- POST /workflows - Create new workflow
- PUT /workflows/<id> - Update workflow
- DELETE /workflows/<id> - Delete workflow
- JWT authentication and access control

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:25:21 -05:00
Juan DenisandClaude Opus 4.5 ee9826ff1f feat(20-1): Create Workflow model
- SQLAlchemy model with name, description, nodes, edges, viewport
- JSON string storage for React Flow state
- to_dict() method with node/edge counts
- User relationship and timestamps

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:24:51 -05:00
Juan DenisandClaude Opus 4.5 a1aec5fd4e plan(20): Workflow Save/Load execution plan
7 tasks planned:
- Workflow SQLAlchemy model (nodes, edges as JSON)
- CRUD API endpoints (/api/v1/workflows)
- Blueprint registration
- Frontend API methods
- Save/load UI with toolbar
- WorkflowListModal component
- Import existing infrastructure as nodes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:23:16 -05:00
Juan DenisandClaude Opus 4.5 c5368b2ea5 docs(19): Complete Connection Logic phase
Phase 19 completed with 5 commits:
- Connection validation utility with rules matrix
- isValidConnection wiring with error feedback
- Custom ConnectionEdge with labels
- Edge selection and deletion
- Connection styles

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:20:54 -05:00
Juan DenisandClaude Opus 4.5 fd547543d4 feat(19-6): Add connection styles
- Connection error toast with slide animation
- Edge label styles (visible on hover/select)
- Edge delete button styling
- Handle hover scale effect
- Valid/invalid handle highlighting during connect
- Selected edge white stroke effect

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:19:33 -05:00
Juan DenisandClaude Opus 4.5 cf1aa5e45e feat(19-5): Add edge selection and deletion
- Register ConnectionEdge as custom edge type
- Track selectedEdge state
- onEdgeClick handler
- Delete key/Backspace handler for edge deletion
- Pass onDelete to edge data for delete button
- Store connection metadata (sourceType, targetType)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:18:43 -05:00
Juan DenisandClaude Opus 4.5 7bad6c19e0 feat(19-4): Create custom ConnectionEdge component
- Extends smoothstep edge with labels
- Shows connection type label (Routes to, Uses DB, etc.)
- Color-coded by connection type
- Selected state with glow effect
- Delete button on selection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:17:32 -05:00
Juan DenisandClaude Opus 4.5 992d9cd14c feat(19-2): Wire isValidConnection and add connection feedback
- Import connection validation utility
- Add isValidConnection callback using rules
- Add onConnectStart/onConnectEnd for error tracking
- Show connection error toast when invalid
- Auto-clear error after 3 seconds

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:17:05 -05:00
Juan DenisandClaude Opus 4.5 8a920fdc97 feat(19-1): Create connection validation utility
- Connection rules matrix defining valid source→target combinations
- isValidConnection() checks node types and handle IDs
- getConnectionError() returns human-readable error messages
- connectionLabels and connectionColors for edge styling
- Prevents self-connections and invalid node type combinations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:16:16 -05:00
Juan DenisandClaude Opus 4.5 d3db4258c9 plan(19): Connection Logic execution plan
6 tasks planned:
- Connection validation utility with rules matrix
- isValidConnection callback in WorkflowBuilder
- Visual feedback for connection attempts
- Custom ConnectionEdge component with labels
- Edge selection and deletion
- Connection styles

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:15:06 -05:00
Juan DenisandClaude Opus 4.5 c3b7292037 docs(18): Complete Node Configuration Panels phase
Phase 18 completed with 7 commits:
- ConfigPanel base component
- DockerApp, Database, Domain, Service config panels
- Panel wiring with real-time node updates
- Panel styles with slide animation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:10:59 -05:00
Juan DenisandClaude Opus 4.5 69b2339e2b feat(18-7): Add configuration panel styles
- Sliding panel from right with open/close animation
- Panel header with type-specific border color
- Panel body with form styling
- Port list styles for Docker config
- btn-icon and btn-danger-ghost for remove buttons
- Fixed @shadow-2xl -> @shadow-lg

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:09:40 -05:00
Juan DenisandClaude Opus 4.5 8b39d87a3f feat(18-6): Wire panel to node selection in WorkflowBuilder
- Import all config panel components
- Track selectedNode state
- onNodeClick opens appropriate panel
- onPaneClick closes panel
- handleNodeDataChange updates node data in real-time
- renderConfigPanel switches by node type

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:08:23 -05:00