Migrate service manager to trzcina + adopt ServiceBundle#238
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates Paddler’s internal service orchestration from the in-repo Service/ServiceManager implementation to the external trzcina crate, and introduces ServiceBundle-based bootstrapping for agent and balancer components.
Changes:
- Replaced in-crate
Service+ServiceManagerwithtrzcina::Service+trzcina::ServiceManageracross balancer/agent services and runners. - Introduced
AgentServiceBundle/BalancerServiceBundleto construct and register groups of services. - Standardized shutdown handling by introducing a shared
SHUTDOWN_DEADLINEand adding Actix HTTP server shutdown timeouts.
Reviewed changes
Copilot reviewed 27 out of 28 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| paddler/src/service.rs | Removed the in-crate Service trait (migration to trzcina). |
| paddler/src/service_manager.rs | Removed the in-crate service manager implementation and its tests. |
| paddler/src/lib.rs | Stopped exporting service and service_manager modules. |
| paddler/src/balancer/web_admin_panel_service/mod.rs | Switched to trzcina::Service; added HTTP server shutdown timeout. |
| paddler/src/balancer/statsd_service/mod.rs | Switched to trzcina::Service. |
| paddler/src/balancer/reconciliation_service.rs | Switched to trzcina::Service. |
| paddler/src/balancer/management_service/mod.rs | Switched to trzcina::Service; added HTTP server shutdown timeout. |
| paddler/src/balancer/inference_service/mod.rs | Switched to trzcina::Service; added HTTP server shutdown timeout. |
| paddler/src/balancer/compatibility/openai_service/mod.rs | Switched to trzcina::Service; added HTTP server shutdown timeout. |
| paddler/src/agent/reconciliation_service.rs | Switched to trzcina::Service. |
| paddler/src/agent/management_socket_client_service.rs | Switched to trzcina::Service; replaced actix_web::rt::spawn with tokio::spawn. |
| paddler/src/agent/llamacpp_arbiter_service.rs | Switched to trzcina::Service. |
| paddler/Cargo.toml | Added trzcina dependency. |
| paddler_cli/src/main.rs | Moved CLI entrypoint to run under an Actix System (block_on) instead of #[tokio::main]. |
| paddler_cli/src/cmd/balancer.rs | Replaced runner-based startup with BalancerServiceBundle + trzcina::ServiceManager. |
| paddler_cli/src/cmd/agent.rs | Replaced runner-based startup with AgentServiceBundle + trzcina::ServiceManager. |
| paddler_cli/Cargo.toml | Added trzcina dependency. |
| paddler_bootstrap/src/shutdown_deadline.rs | Added shared shutdown deadline constant. |
| paddler_bootstrap/src/lib.rs | Exported new service bundle modules; removed old bootstrapped handle modules. |
| paddler_bootstrap/src/balancer_service_bundle.rs | Added bundle that constructs and returns balancer services as a ServiceBundle. |
| paddler_bootstrap/src/balancer_runner.rs | Updated runner to register and run the bundle via trzcina::ServiceManager. |
| paddler_bootstrap/src/agent_service_bundle.rs | Added bundle that constructs and returns agent services as a ServiceBundle. |
| paddler_bootstrap/src/agent_runner.rs | Updated runner to register and run the bundle via trzcina::ServiceManager. |
| paddler_bootstrap/Cargo.toml | Added async-trait and trzcina dependencies. |
| Cargo.toml | Added workspace dependency pin for trzcina. |
| Cargo.lock | Locked trzcina and dependency graph updates. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…rvices and runner
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.