Commit Graph

14 Commits

Author SHA1 Message Date
Timur Gordon
6d518599b8 Restructure: move src to core/ crate, move cmd/supervisor.rs to core/src/bin/supervisor.rs, create workspace 2025-11-06 23:30:18 +01:00
Timur Gordon
4a5f19e091 Restructure: move clients/openrpc to client/ and clients/admin-ui to ui/ 2025-11-06 14:07:55 +01:00
Timur Gordon
af5cd30516 Switch hero-job dependencies to Git URLs in main supervisor package 2025-11-06 13:49:00 +01:00
Timur Gordon
b8ef14d06c Simplify build.sh and update run.sh for self-contained execution
- Simplified build.sh to just build in release mode with warning suppression
- Updated run.sh to build first, then start supervisor and admin UI together
- Run script now starts both supervisor API and admin UI in background
- Added proper cleanup handler for graceful shutdown
- Removed admin UI compilation errors by fixing JsValue handling
- Added list_jobs method to WASM client for admin UI compatibility
2025-11-04 17:05:01 +01:00
Timur Gordon
3356a03895 Use hero-job crate instead of runner_rust for job types 2025-11-04 13:44:01 +01:00
Timur Gordon
e493085892 Use git dependency for runner_rust instead of path
This allows supervisor to be used as a git dependency by other projects
2025-10-28 12:28:40 +01:00
Timur Gordon
f249c8b49b Implement comprehensive admin UI with job management and API key display
Admin UI Features:
- Complete job lifecycle: create, run, view status, view output, delete
- Job table with sorting, filtering, and real-time status updates
- Status polling with countdown timers for running jobs
- Job output modal with result/error display
- API keys management: create keys, list keys with secrets visible
- Sidebar toggle between runners and keys views
- Toast notifications for errors
- Modern dark theme UI with responsive design

Supervisor Improvements:
- Fixed job status persistence using client methods
- Refactored get_job_result to use client.get_status, get_result, get_error
- Changed runner_rust dependency from git to local path
- Authentication system with API key scopes (admin, user, register)
- Job listing with status fetching from Redis
- Services module for job and auth operations

OpenRPC Client:
- Added auth_list_keys method for fetching API keys
- WASM bindings for browser usage
- Proper error handling and type conversions

Build Status:  All components build successfully
2025-10-28 03:32:25 +01:00
Timur Gordon
98b2718d58 feat: simplify OpenRPC API and reorganize examples
- Simplified RunnerConfig to just name, command, and optional env
- Removed RunnerType and ProcessManagerType enums
- Removed db_path, redis_url, binary_path from config
- Made runner name also serve as queue name (no separate queue param)
- Added secret-based authentication to all runner management methods
- Created comprehensive osiris_openrpc example
- Archived old examples to _archive/
- Updated client API to match simplified supervisor interface
2025-10-27 14:20:40 +01:00
Timur Gordon
d968dcfa5d Use git dependency for runner_rust 2025-10-20 22:25:49 +02:00
Timur Gordon
e2971a335c Production deployment with zinit config 2025-10-20 22:24:48 +02:00
Timur Gordon
77b4c66a10 fix mycelium impl 2025-09-01 16:34:24 +02:00
Timur Gordon
44b1dd4249 remove unused dep and move job out 2025-09-01 16:21:31 +02:00
Timur Gordon
ef17d36300 update api, fix tests and examples 2025-08-27 10:07:53 +02:00
Timur Gordon
767c66fb6a initial commit 2025-08-26 14:49:21 +02:00