rskit-workload — Provider-Based Workload Orchestration
Provider-agnostic contract for deploying and managing long-running workloads (containers, pods, or any runtime unit) with an explicit backend registry and a lifecycle-managed component.
Mirrors gokit's workload package: the same concept and vocabulary, in idiomatic Rust. This crate owns the orchestration contract only — concrete backends (Docker, Kubernetes, …) live in separate adapter crates that register a ManagerFactory; no backend is wired in implicitly.
Features
Managertrait: deploy / stop / remove / restart / status / wait / logs / list / health check- Optional capability traits:
ExecCapable,StatsCapable,LogStreamer,EventWatcher,SystemInfoCapable,DiskUsageCapable,ImageInspector,ImageEventWatcher WorkloadRegistry— explicit, injected backend selection by provider nameWorkloadComponent—rskit-componentlifecycle (start / stop / health)WorkloadState/RestartPolicyenums and CPU/memory quantity helpers
Usage
[]
= "0.2.0-alpha.2"
use ;
use Component;
#
# async
Register a backend factory into a WorkloadRegistry, then pass it to WorkloadComponent::with_registry with an enabled WorkloadConfig to run a real provider.
License
MIT