feat: Add service manager support

- Add a new service manager crate for dynamic service management
- Integrate service manager with Rhai for scripting
- Provide examples for circle worker management and basic usage
- Add comprehensive tests for service lifecycle and error handling
- Implement cross-platform support for macOS and Linux (zinit/systemd)
This commit is contained in:
Mahmoud-Emad
2025-07-01 18:00:21 +03:00
parent 46ad848e7e
commit 131d978450
28 changed files with 3562 additions and 192 deletions

View File

@@ -103,6 +103,9 @@ pub use sal_vault::rhai::register_crypto_module;
pub use sal_kubernetes::rhai::register_kubernetes_module;
pub use sal_kubernetes::KubernetesManager;
// Re-export service manager module
pub use sal_service_manager::rhai::register_service_manager_module;
// Rename copy functions to avoid conflicts
pub use sal_os::rhai::copy as os_copy;
@@ -167,6 +170,9 @@ pub fn register(engine: &mut Engine) -> Result<(), Box<rhai::EvalAltResult>> {
// Register PostgreSQL client module functions
sal_postgresclient::rhai::register_postgresclient_module(engine)?;
// Register Service Manager module functions
sal_service_manager::rhai::register_service_manager_module(engine)?;
// Platform functions are now registered by sal-os package
// Screen module functions are now part of sal-process package