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
- Open the Hub application
- Navigate to Development menu
- Click Constellation
Overview
The Constellation Management screen has three main areas:
- Saved Constellations (left) - List of saved constellation presets
- Constellation Details (right top) - Members and settings for selected constellation
- Running Members (bottom) - Status of currently running nodes
Creating a Constellation
- Click New to create a new constellation
- Enter a name and optional description
- Add members using Add Agent, Add Remote, or Add Hub buttons
- 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)
- 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; passdeliver=falseto only wipe), withpersonality.pair <names…>for the cross-trust step — so a test harness can instrument node folders with no GUI at all.
Launching a Constellation
- Select a constellation from the list
- Click Launch
- Each member's folder is provisioned per its Startup mode, then MockNode windows appear
- 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
- Create a constellation with one Agent and one Remote
- Set both members' Startup to Pre-pair
- Launch the constellation — both nodes come up freshly delivered and already trusting each other (no QR scan, no manual pairing)
- 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
- Create constellation with two or more Agents
- Test agent-to-agent discovery and communication
Full Stack Testing
- Create constellation with Agent + Remote + Hub
- 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