Crate duende_core

Crate duende_core 

Source
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:

§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.