16 Commits

Author SHA1 Message Date
Timur Gordon
49d36485d0 Update admin UI with real API integration and secret management 2025-10-31 02:29:29 +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
5f5dd35dbc fix: resolve duplicate LogInfo type and method name issues
- Removed duplicate LogInfo type definition for WASM
- Fixed run_job client method to call 'job.run' instead of 'run_job'
- Removed unused imports (wasm_bindgen, PathBuf)
- Admin UI now builds successfully

All components working:
- OpenRPC client compiles for both native and WASM
- Admin UI builds without errors
- Method names aligned between client and server
2025-10-27 15:42:27 +01:00
Timur Gordon
674ae22f91 fix: add run_job alias and update get_runner_status to use params
- Added run_job method as alias for job.run for backward compatibility
- Updated get_runner_status to accept RunnerManagementParams with secret
- Both methods now properly handle secret-based authentication
- Fixes 'Method not found' and parameter mismatch errors
2025-10-27 14:59:14 +01:00
Timur Gordon
9b3477d6d2 feat: align OpenRPC server with simplified client API
- Updated RegisterRunnerParams to only require name (queue = name)
- Added AddRunnerParams with RunnerConfig for add_runner method
- Updated RunnerManagementParams and StopRunnerParams with secrets
- Added add_runner method to OpenRPC trait and implementation
- Removed duplicate AddRunnerParams definition
- Updated client register_runner to send params as JSON object
- Added TODO comments for moving secrets to HTTP headers
2025-10-27 14:48:46 +01:00
Timur Gordon
a47157aa71 fix: keep OpenRPC ServerHandle alive to prevent server shutdown
The ServerHandle was being dropped immediately after spawning, causing the
OpenRPC server to shut down. Now we properly await handle.stopped() to keep
the server running.
2025-10-27 14:34:22 +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
ef56ed0290 Fix git dependencies 2025-10-20 22:27:46 +02: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
e7c377460e supervisor minor fixed 2025-09-02 09:15:24 +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