decdn-cli 0.0.2

User-facing deCDN CLI (decdn binary): probe, fetch, pools, publishing, origin import, node admin
Documentation
//! `decdn bundle` — the `pull` subcommand group. Issue #391.
//!
//! Bundle manifests are produced by `decdn origin import --dry-run` (see
//! [`super::manifest`] and [`super::origin`]); this module only realizes
//! them, fetching every referenced blob over the paid `cdn/client/v1` path.

use std::path::Path;

use decdn_common::cli::{BundleArgs, BundleCommand};

/// Top-level dispatcher for `decdn bundle ...`. `config_path` (the global
/// `--config`) is consumed by `pull` for relays/discovery/chain coordinates.
pub async fn bundle_dispatch(args: &BundleArgs, config_path: Option<&Path>) -> anyhow::Result<()> {
    match &args.cmd {
        BundleCommand::Pull(pull_args) => {
            super::bundle_pull::bundle_pull(pull_args, config_path).await
        }
    }
}