CLI command

skarbiec bond add

Create one non-secret bond configuration in the vault. A serve-channel bond that records --token-file is pulled by skarbiec maintain.

Invocation#

Shell
skarbiec bond add <name> --mode <replica|hub|p2p|git> --role <source|replica|consumer|peer> --channel <serve|git|file>:<address> [--peers <fpr,...>] [--interval <seconds>] [--token-file <path> [--consumer <name>]]

Purpose#

Create one non-secret bond configuration in the vault. A serve-channel bond that records --token-file is pulled by skarbiec maintain.

Required inputs and options#

  • Requires name, --mode, --role, and --channel. --peers and numeric --interval are optional. --token-file names the absolute path of an owner-only regular file holding exactly one bearer; it requires a serve channel and --interval. --consumer names who pulls (default replica) and requires --token-file.

Output and state effects#

  • Stores mode, role, channel, peers, interval, and for a pulled bond the bearer file path and consumer (never the bearer), saves the vault, appends the bond-add audit entry, and prints ok plus bond/mode/role.

Refusals#

  • A name already configured is refused with `bond <name> is already configured (mode <mode>, role <role>); `skarbiec bond edit <name>` changes it`. Refuses modes, roles, channel types, channel shapes, or interval values outside the dispatcher's finite schema; `--token-file applies only to a serve channel: only serve channels are pulled`; `--token-file requires --interval: serve pulls a bond on the bond's own interval`; `--consumer names who pulls and requires --token-file`; a bearer file that is not an absolute, owner-only regular file holding one bearer. A refused bond is not written.