Expand description
§duende-core
Core daemon lifecycle primitives for the Duende cross-platform daemon framework.
This crate provides the foundational types and traits for daemon management:
Daemontrait for implementing daemon lifecycleDaemonConfigfor daemon configurationDaemonMetricsfor RED method metrics (Rate, Errors, Duration)DaemonContextfor runtime context and signal handling
§Iron Lotus Framework
This crate follows the Iron Lotus Framework principles:
- Genchi Genbutsu: All operations traceable to syscalls via renacer
- Jidoka: Explicit error handling, no panics
- Kaizen: Continuous metrics for improvement
- Muda: Zero-waste resource allocation
§Example
ⓘ
use duende_core::{Daemon, DaemonConfig, DaemonContext, DaemonId, ExitReason};
use async_trait::async_trait;
struct MyDaemon {
id: DaemonId,
}
#[async_trait]
impl Daemon for MyDaemon {
fn id(&self) -> DaemonId { self.id }
fn name(&self) -> &str { "my-daemon" }
// ... implement other methods
}Re-exports§
pub use adapter::DaemonHandle;pub use adapter::HandleData;pub use adapter::PlatformAdapter;pub use adapter::PlatformError;pub use adapter::PlatformResult;pub use adapter::TracerHandle;pub use adapter::TracerType;pub use adapters::select_adapter;pub use adapters::select_adapter_auto;pub use adapters::ContainerAdapter;pub use adapters::ContainerRuntime;pub use adapters::LaunchdAdapter;pub use adapters::NativeAdapter;pub use adapters::PepitaAdapter;pub use adapters::SystemdAdapter;pub use adapters::WosAdapter;pub use config::DaemonConfig;pub use config::ResourceConfig;pub use daemon::Daemon;pub use daemon::DaemonContext;pub use daemon::DaemonContextHandle;pub use error::DaemonError;pub use error::Result;pub use manager::BackoffConfig;pub use manager::DaemonManager;pub use manager::ManagedDaemon;pub use manager::RestartPolicy;pub use metrics::DaemonMetrics;pub use platform::detect_platform;pub use platform::Platform;pub use types::DaemonId;pub use types::DaemonStatus;pub use types::ExitReason;pub use types::FailureReason;pub use types::HealthStatus;pub use types::Signal;
Modules§
- adapter
- Platform adapter abstraction for daemon lifecycle management.
- adapters
- Platform adapter implementations.
- config
- Daemon configuration types.
- daemon
- Core daemon trait and context.
- error
- Error types for duende-core.
- manager
- Daemon Manager - orchestrates daemon lifecycle.
- metrics
- Daemon metrics following the RED method (Rate, Errors, Duration).
- platform
- Platform detection and abstraction.
- types
- Core types for daemon lifecycle management.