pub(crate) struct Args {
pub(crate) port: u16,
pub(crate) policy_pack: Vec<PathBuf>,
pub(crate) audit_db: PathBuf,
pub(crate) rate_cap: u32,
pub(crate) verbose: bool,
pub(crate) pack_source: Option<String>,
pub(crate) issuer_pubkey_hex: String,
pub(crate) upstream_protect: Option<String>,
}Expand description
CLI arguments. Mirror of the Python ref’s argparse setup.
Fields§
§port: u16Local HTTP port to listen on (default 8080).
policy_pack: Vec<PathBuf>Path to a policy-pack JSON. Pass multiple times for multiple packs.
audit_db: PathBufSQLite file for the append-only audit log. Day 1: accepted for CLI compatibility; the in-memory sink is used until the rusqlite backend lands in Day 2.
rate_cap: u32(Reserved for v0.2) per-agent actions/minute cap.
verbose: boolVerbose logging (DEBUG level).
pack_source: Option<String>Remote policy-pack source (directory URL containing index.json).
When set, the daemon fetches Nel-style signed packs from
<URL>/index.json on startup, verifies the Ed25519 signature over
sha256(tarball) against --issuer-pubkey-hex, and lists them in
/health. Loaded packs are INVENTORY-ONLY (visible + sig-verified
- cached) — they are NOT executed by the daemon’s evaluator because Nel publishes full OPA Rego v1, which the reference subset evaluator does not interpret. See pack_fetcher.rs for the needs-iteration note. Local –policy-pack JSON files still drive the evaluator.
issuer_pubkey_hex: StringIssuer Ed25519 public key (hex-encoded 32-byte raw) used to verify remotely-fetched packs. Defaults to the live aiegis.ie harness issuer key empirically captured on 2026-05-25.
upstream_protect: Option<String>Upstream /v1/harness/receipt URL (Velo-style). When set + the
local decision is ALLOW/WARN, the daemon POSTs the same payload
upstream, captures the returned rid, and surfaces it in both
the response body and the audit ledger. If upstream is
unreachable / 5xx, the daemon honestly falls back to its local
decision and flags upstream_error: true in the response.
Trait Implementations§
Source§impl Args for Args
impl Args for Args
Source§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
ArgGroup::id][crate::ArgGroup::id] for this set of argumentsSource§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command] so it can instantiate self via
[FromArgMatches::update_from_arg_matches_mut] Read moreSource§impl FromArgMatches for Args
impl FromArgMatches for Args
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(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.