pub enum WitnessSubcommand {
Up {
port: u16,
data_dir: PathBuf,
accept_file_key: bool,
image: Option<String>,
build_attestation: Option<PathBuf>,
},
Down {
data_dir: PathBuf,
port: u16,
},
Status {
port: u16,
},
VerifyReceipt {
receipt: PathBuf,
},
Register {
endpoint: String,
},
Logs {
data_dir: PathBuf,
},
Start {
bind: SocketAddr,
db_path: PathBuf,
identity: Option<PathBuf>,
generate: bool,
curve: String,
},
Add {
url: String,
},
Remove {
url: String,
},
List,
Publish,
}Expand description
Witness subcommands.
Variants§
Up
Stand up a witness node (and its monitor) from a clean box, one command.
Brings up the node via the embedded standup manifest, mints the node identity at first boot, and prints a health URL. The node runs the released, attested witness image — never a source build.
Fields
accept_file_key: boolAcknowledge file-backed key custody when no managed key store (KMS/enclave) is available. Without this, a node refuses to fall back to a file key rather than silently weaken custody.
Down
Tear a stood-up witness node down.
Fields
Status
Report a stood-up node’s health, identity, receipts, and peers.
VerifyReceipt
Verify a witness receipt offline, on this machine alone.
Reads a receipt bundle (a witness’s signed receipt paired with the witness’s published identity) and checks it with no network and no registry — everything needed is in the bundle. Exits non-zero, with a distinct reason, if the receipt does not verify (a tampered or foreign receipt). This is how a third party who does not trust the node confirms a receipt is genuine corroboration.
Register
Open a signed candidate entry to register this node in the directory.
Logs
Stream a stood-up node’s logs.
Start
Start the witness HTTP server.
Fields
bind: SocketAddrAddress to bind to (e.g., “127.0.0.1:3333”).
identity: Option<PathBuf>Path to the persisted witness signing-key keystore. The advertised AID
derives from this key and is stable across restarts. Without it the
witness runs with an EPHEMERAL (unpinnable) identity. The
AUTHS_WITNESS_SEED env var (hex seed) takes precedence for containers.
Add
Add a witness URL to the identity configuration.
Remove
Remove a witness URL from the identity configuration.
List
List configured witnesses for the current identity.
Publish
Publish this identity’s full KEL to its configured witnesses, collecting receipts for every event.
Witness submission is idempotent, so republishing is always safe — use it to backfill a witness added after inception, or to confirm your backers hold what your KEL declares they witness.
Trait Implementations§
Source§impl Clone for WitnessSubcommand
impl Clone for WitnessSubcommand
Source§fn clone(&self) -> WitnessSubcommand
fn clone(&self) -> WitnessSubcommand
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WitnessSubcommand
impl Debug for WitnessSubcommand
Source§impl FromArgMatches for WitnessSubcommand
impl FromArgMatches for WitnessSubcommand
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for WitnessSubcommand
impl Subcommand for WitnessSubcommand
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommand