Skip to main content

Module cli

Module cli 

Source
Expand description

CLI argument parsing for the decdn binary.

RunArgs is also re-used (flattened) by ConfigValidateArgs — decdn config validate runs the same resolver decdn-node run does, against the same DECDN_* env vars, without binding ports or starting any tasks. The daemon’s own clap shell lives in crates/node/src/main.rs and is not part of this module.

Re-exports§

pub use appeal::AppealArgs;
pub use appeal::AppealCommand;
pub use appeal::AppealSlashArgs;
pub use byte_size::parse_byte_size;
pub use common::CommonChainArgs;
pub use common::ConfigPathSource;
pub use common::LogFormat;
pub use common::default_client_data_dir;
pub use common::default_config_path;
pub use common::default_data_dir;
pub use config_cmd::ConfigArgs;
pub use config_cmd::ConfigCommand;
pub use config_cmd::ConfigInitArgs;
pub use config_cmd::ConfigValidateArgs;
pub use fetch::ClientFetchArgs;
pub use gateway::GatewayArgs;
pub use get::GetArgs;
pub use key_gen::KeyGenArgs;
pub use node::BondArgs;
pub use node::ChainArgs;
pub use node::DeregisterArgs;
pub use node::DoctorArgs;
pub use node::DrainArgs;
pub use node::EvictArgs;
pub use node::HealthArgs;
pub use node::LanesArgs;
pub use node::LookupArgs;
pub use node::NodeArgs;
pub use node::NodeCommand;
pub use node::PoolsArgs;
pub use node::RegisterArgs;
pub use node::ReloadArgs;
pub use node::RotateKeyArgs;
pub use node::RotateKeyTarget;
pub use node::SlashesArgs;
pub use node::StatusArgs;
pub use node::TopArgs;
pub use node::UnbondArgs;
pub use node::UpdateMultiaddrsArgs;
pub use node::UpdateRegionArgs;
pub use origin::OriginArgs;
pub use origin::OriginCommand;
pub use origin::OriginImportArgs;
pub use pool::PoolArgs;
pub use pool::PoolAssignArgs;
pub use pool::PoolChainArgs;
pub use pool::PoolCloseArgs;
pub use pool::PoolCommand;
pub use pool::PoolListArgs;
pub use pool::PoolOpenArgs;
pub use pool::PoolReclaimArgs;
pub use pool::PoolTopUpArgs;
pub use probe::ProbeArgs;
pub use publish::AssignArgs;
pub use publish::NamespaceArgs;
pub use publish::NamespaceCommand;
pub use publish::NamespaceCreateArgs;
pub use publish::PublishArgs;
pub use publish::PublishChainArgs;
pub use publish::PublishCommand;
pub use publish::RevokeArgs;
pub use run::RunArgs;
pub use setup::SetupArgs;
pub use whoami::WhoamiArgs;

Modules§

appeal
decdn appeal command surface — operator-facing slash-appeal filing (ADR 028). Currently one subcommand, slash, which posts the appeal bond and files an appeal against a slash via SlashAppeal.openSlashAppeal.
byte_size
Parse a human byte size (4MiB, 1048576, 2M) for CLI value_parsers. Binary units only: K/KiB/KB = 1024, M/MiB/MB = 1024², G/GiB/GB = 1024³.
common
Shared CLI types and helpers.
config_cmd
Arguments for the decdn config command group (init, validate).
fetch
The retrieval flags of decdn get: the client-side paid pull over cdn/client/v1 (issues #391, #940, #2449).
gateway
Arguments for the decdn gateway subcommand.
get
Arguments for decdn get <URI> (#2449): one command for a blob, a whole bundle, or one bundle entry, named by a decdn: URI (adr/appendix-bundles.md § decdn: URIs).
key_gen
Arguments for the decdn key-gen subcommand.
node
Arguments for the decdn node subcommand group.
origin
Arguments for the decdn origin command group (issue #1904).
pool
decdn pool — client-side payment-pool lifecycle commands.
probe
Arguments for the decdn probe subcommand.
publish
CLI argument parsing for decdn publish — the origin-publisher control plane (issues #1029 / #1491, ADR 002 / ADR 011). Three write commands: namespace create (PublisherRegistry.createNamespace), and then assign / revoke (OriginAssignment.addOrigin / removeOrigin), which a vetted publisher self-serves with no waiting. Vetting itself is granted out-of-band by a VETTER_ROLE holder on the installed vetting policy (an operator, multisig, or governance), not through this CLI. assign submits one addOrigin per operator, so it is N transactions rather than one. Content is bound to a namespace off-chain at fetch time, so there is no per-hash on-chain claim.
run
Arguments for decdn-node run (the daemon’s only subcommand).
setup
Arguments for the decdn setup onboarding wizard (ADR 019 Phases 1–2).
whoami
Arguments for the decdn whoami subcommand.

Structs§

Cli
User-facing deCDN CLI. The daemon lives in the separate decdn-node binary; this CLI is what you type from a terminal — probe, get, pools, publishing, node admin.

Enums§

Command
Available subcommands. There is intentionally no run subcommand — running the daemon is decdn-node run (issue #421). For a dry-run resolution of the daemon’s startup config without binding ports, see ConfigValidateArgs (decdn config validate), which flattens the same RunArgs the daemon parses.