This repository has been archived on 2026-08-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
varde/dist/varde-ctl.1.scd
T
bl 5d29bdc4bd
ci / quality (push) Failing after 6s
Pre-0.1 cleanup: fmt, docs, licenses, AUR-ready packaging
- cargo fmt across the workspace (the CI gate the last push tripped).
- varde-daemon: drop the now-unused bytes dependency.
- varde-ctl(1): document push; gc reflects the continuous-sweep
  reality; subscribe mentions push events.
- config.toml example: gc_interval_secs, and an honest note that
  max_download_bytes_per_sec is currently unenforced.
- LICENSE-MIT + LICENSE-APACHE at the root (the declared license now
  ships as files), bundled into release tarballs and installed by the
  PKGBUILD.
- PKGBUILD: real maintainer, AUR pre-flight note (updpkgsums), license
  installation.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 15:04:22 +02:00

94 lines
2.6 KiB
Markdown

varde-ctl(1)
# NAME
varde-ctl - control the varde blob mirror daemon
# SYNOPSIS
*varde-ctl* [*--socket* _PATH_] [*--json*] _COMMAND_ [_ARGS_]
# DESCRIPTION
Command-line client for *varde*(8), speaking the JSON Lines socket
protocol. Doubles as the protocol's reference implementation: every
subcommand maps 1:1 onto a request.
# GLOBAL OPTIONS
*--socket* _PATH_
Daemon socket (env: *VARDE_SOCKET*). Default:
_/run/varde/varde.sock_ as root, _$XDG_RUNTIME_DIR/varde.sock_
otherwise.
*--json*
Print the raw JSON response envelope instead of human output.
# COMMANDS
*add* [-r|--recursive] _PATH_
Import a file (or, with *-r*, a directory tree) into the store.
Prints the root hash. Content is not pinned by adding — pin it to
protect it from *gc*.
*pin* [--open-lan] _HASH_
Standing intent: keep this content, fetch it if absent, serve it to
trusted peers. *--open-lan* serves it to any LAN peer.
*unpin* _HASH_
Remove the intent. Data stays until *gc*.
*materialize* [--mode reflink-or-copy|copy] _HASH_ _DEST_
Export content to a path. The default mode reflinks when the
filesystem supports it and falls back to copying.
*status* [_HASH_]
Daemon status, or presence/completeness of one hash.
*list*
All pins with policy and completeness.
*ticket export* _HASH_
Print an iroh ticket for out-of-band sharing. Note: exporting
grants standing consent to serve that content to anyone (the
ticket holder is not on the allowlist).
*ticket import* [--open-lan] _TICKET_
Pin the ticket's content and fetch it from the embedded provider.
*peer trust* _NODE-ID_
Add a peer to the allowlist. Content is served to and auto-fetched
from trusted peers only. Applies to connections made after the
change.
*peer untrust* _NODE-ID_
Remove a peer from the allowlist.
*peer list*
Trusted peers and whether they are currently present on the LAN.
*push* _HASH_ _NODE-ID_
Hand fully-present content to a trusted peer, unprompted. Consent
is mutual: the sender pushes only to trusted peers, and the
receiver accepts only from peers it trusts, pinning what it
accepted. The reply confirms verified delivery.
*gc*
Reports unimplemented since the move to iroh-blobs 0.103: garbage
collection runs continuously inside the store (see
*gc_interval_secs* in the config), protecting pins, tags and
in-flight imports on every sweep.
*subscribe*
Stream daemon events (transfer progress, peer presence, pin
completion, received pushes) as JSON lines until interrupted.
# EXIT STATUS
0 on success; nonzero with a structured error (code and message) on
stderr otherwise.
# SEE ALSO
*varde*(8)