Crate halldyll_deploy_pods

Crate halldyll_deploy_pods 

Source
Expand description

§Halldyll Deploy Pods

A declarative, idempotent, and reconcilable deployment system for RunPod GPU pods.

§Overview

Halldyll provides a Kubernetes-like deployment experience for RunPod, allowing you to:

  • Define your infrastructure as code in a YAML configuration file
  • Deploy and manage multi-pod GPU workloads
  • Automatically reconcile drift between desired and actual state
  • Track deployment history and state

§Architecture

The system is built around the concept of desired state reconciliation:

  1. Desired State: Defined in halldyll.deploy.yaml
  2. Observed State: Queried from RunPod API
  3. Reconciler: Compares states and executes necessary actions

§Modules

  • config: Configuration parsing and validation
  • state: State storage backends (local, S3)
  • runpod: RunPod API client and provisioning
  • planner: Diff computation and execution planning
  • reconciler: State reconciliation engine
  • cli: Command-line interface

§Example

project:
  name: my-ml-stack
  environment: prod

pods:
  - name: inference
    gpu:
      type: "NVIDIA A40"
      count: 1
    runtime:
      image: ghcr.io/my-org/inference:latest
    ports:
      - "8000/http"

Re-exports§

pub use cli::Cli;
pub use cli::Commands;
pub use cli::OutputFormatter;
pub use config::ConfigHasher;
pub use config::ConfigParser;
pub use config::ConfigValidator;
pub use config::DeployConfig;
pub use error::HalldyllError;
pub use error::Result;
pub use planner::DeploymentPlan;
pub use planner::DiffEngine;
pub use planner::PlanExecutor;
pub use reconciler::DriftReport;
pub use reconciler::ReconciliationResult;
pub use reconciler::Reconciler;
pub use runpod::HealthChecker;
pub use runpod::PodObserver;
pub use runpod::PodProvisioner;
pub use runpod::RunPodClient;
pub use runpod::PodExecutor;
pub use runpod::CommandResult;
pub use runpod::ModelSetupResult;
pub use runpod::EngineStartResult;
pub use runpod::PostProvisionResult;
pub use state::DeploymentState;
pub use state::LocalStateStore;
pub use state::S3StateStore;
pub use state::StateStore;

Modules§

cli
CLI module for the Halldyll deployment tool.
config
Configuration module for Halldyll deployment system.
error
Error types for the Halldyll deployment system.
planner
Planning module for deployment operations.
reconciler
Reconciler for maintaining desired state.
runpod
RunPod API integration module.
state
State management module for Halldyll deployment system.