Constellation Management

Launch and manage multiple MockNode instances for testing

Constellation Management

Constellations allow you to launch multiple MockNode instances for testing OctoMY's peer-to-peer communication system.

Accessing Constellation Management

  1. Open the Hub application
  2. Navigate to Development menu
  3. Click Constellation

Overview

The Constellation Management screen has three main areas:

  1. Saved Constellations (left) - List of saved constellation presets
  2. Constellation Details (right top) - Members and settings for selected constellation
  3. Running Members (bottom) - Status of currently running nodes

Creating a Constellation

  1. Click New to create a new constellation
  2. Enter a name and optional description
  3. Add members using Add Agent, Add Remote, or Add Hub buttons
  4. For each member:
    • Select a personality from the dropdown (or create new)
    • Pick a Startup mode for how its folder is prepared before launch (see below)
  5. Click Save

Startup provisioning

Each member has a Startup dropdown that decides how its data folder is prepared before the node launches. The choices are cumulative — each one does everything the one above it does, plus a little more:

Startup What happens before launch
None Boot the folder exactly as it is (keep its identity and data).
Nuke Wipe the folder clean first (an unborn node), keeping only its personality manifest.
Pre-deliver Wipe, then create a freshly generated identity for the node, so it boots already delivered — no birth ceremony.
Pre-pair Pre-deliver every Pre-pair member, then cross-trust their public keys, so they boot already trusting each other — no discovery, no manual pairing.

The provisioned identity is created inside the node's own encrypted hive (its per-node identity store), not as plain files in the folder — so a delivered node carries its keys the same way a normally-born node does. See the hive concept.

All of this is done outside the node, by the manager itself — there are no --auto-delivery / --auto-discovery command-line switches any more (they were an attack surface and only ever worked for MockNode). A node simply finds a ready folder and boots against it exactly as if it had delivered and paired itself.

Automating it. The same offline delivery is available headlessly as the OPAL task personality.provision <name> (wipe + fresh identity; pass deliver=false to only wipe), with personality.pair <names…> for the cross-trust step — so a test harness can instrument node folders with no GUI at all.

Launching a Constellation

  1. Select a constellation from the list
  2. Click Launch
  3. Each member's folder is provisioned per its Startup mode, then MockNode windows appear
  4. Status shows in the Running Members table

Monitoring Running Nodes

The Running Members table shows:

Column Description
Name Node personality name
Type Agent, Remote, or Hub
Status Starting, Running, Stopping, Stopped, Error
PID Process ID
Uptime Time since node started

Stopping Nodes

  • Click Stop to stop all members of the selected constellation
  • Individual nodes can be stopped by closing their windows

Personalities

Each MockNode requires a personality - a stored identity configuration that includes:

  • Node name
  • Node type (Agent/Remote/Hub)
  • Cryptographic keys
  • Optional pre-configured pairing data

Create personalities via the dropdown menu when adding constellation members.

Common Test Scenarios

Agent + Remote Pairing

  1. Create a constellation with one Agent and one Remote
  2. Set both members' Startup to Pre-pair
  3. Launch the constellation — both nodes come up freshly delivered and already trusting each other (no QR scan, no manual pairing)
  4. Verify communication works immediately

To rehearse the manual pairing flow instead, set both to Pre-deliver (fresh identities, but not yet trusted) and pair them by hand — e.g. scan the Agent's QR code from the Remote.

Multi-Agent Testing

  1. Create constellation with two or more Agents
  2. Test agent-to-agent discovery and communication

Full Stack Testing

  1. Create constellation with Agent + Remote + Hub
  2. Test complete system topology

Troubleshooting

If a node fails to start:

  • Check the node's personality exists and is valid
  • Ensure no conflicting processes are using required ports
  • Check system resources (memory, file descriptors)

If nodes can't communicate:

  • Verify network settings allow localhost UDP
  • Check firewall rules
  • Enable Discovery service in debugger panel
Topics
howto development testing constellation