Skip to content

Configuration

Nara uses CLI flags and environment variables for identity, transport, and resource tuning.

  • Deployment flexibility (Metal, Docker, K8s).
  • Identity migration via “souls.”
  • Auto-tuning based on host hardware.
  • Hybrid network support (MQTT + Mesh).
  • Precedence: CLI Flags > Env Vars > Defaults.
  • Identity: Bound to Soul + Name + HW Fingerprint.
  • Memory Profiles: Short, Medium, Hog, or Auto.
  • Transport Modes: mqtt, gossip, or hybrid.
  • Soul Privacy: The soul (private seed) is never transmitted.
  • Stable ID: Nara ID is a deterministic hash of soul and name.
  • Safe Boot: Operates with functional defaults if unconfigured.
FlagEnv VarDefaultDescription
-mqtt-hostMQTT_HOSTtls://...Broker address.
-http-addrHTTP_ADDR:8080API & UI address.
-soulNARA_SOUL-Base58 identity string.
-nara-idNARA_ID-Explicit Nara name.
-transportTRANSPORT_MODEhybridmqtt, gossip, or hybrid.
-memory-modeMEMORY_MODEautoshort, medium, hog, auto.
-ledger-capacityLEDGER_CAPACITY-Max ledger events override.
  • --show-default-credentials: View embedded community credentials.
  1. Name: -nara-id > hostname (if specific) > generate from soul.
  2. Soul: -soul > native soul from SHA256(HostID + MACs).
  3. Nara ID: Base58(SHA256(RawSoulBytes || NameBytes)).

If -memory-mode is auto:

  • RAM ≤ 384MB: short (20k events, GOMEMLIMIT=220MiB, GOGC=50).
  • RAM ≤ 1024MB: medium (80k events).
  • RAM > 1024MB: hog (320k events).
  • mqtt: Plaza MQTT broadcasts.
  • gossip: Mesh HTTP (tsnet/WireGuard) P2P.
  • hybrid: Standard dual-transport.
  • Soul Sovereignty: The soul is the root of identity and Stash decryption.
  • Environment Gating: Use env vars to override embedded credentials in production.
  • TestMemoryMode_Parsing / TestMemoryMode_CustomOverride.
  • TestIdentity_Bonding: Soul-to-name HMAC validation.
  • TestTransport_Selection: Initialization gating.