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.1"
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